Ubuntu24.04.4安装mysql8.0.46

### 准备

Ubuntu 每个发行版源内软件版本是锁定固定的:

Ubuntu 22.04:mysql-server = MySQL 8.0

Ubuntu 24.04:mysql-server = MySQL 8.0

查看将要安装的版本:

apt show mysql-server

###安装

sudo apt update && sudo apt upgrade -y

sudo apt install mysql-server -y

安装完成后 MySQL 会自动开机自启,并默认运行。

查看服务状态:sudo systemctl status mysql

启停命令:

sudo systemctl start mysql

sudo systemctl stop mysql

sudo systemctl restart mysql

安全初始化(必做,加固数据库):

sudo mysql_secure_installation

分步交互说明:

1.VALIDATE PASSWORD COMPONENT 密码强度校验,选 n 不开启(自用推荐),y 开启严格密码规则

2.设置 root 密码,重复输入两次

3.Remove anonymous users? → y 删除匿名账号

4.Disallow root login remotely? → y 禁止 root 远程登录

5.Remove test database and access to it? → y 删除测试库

6.Reload privilege tables now? → y 刷新权限

###修改密码

本地登录 MySQL-Ubuntu MySQL8 默认使用 auth_socket 插件认证,不用密码直接 sudo 登录:sudo mysql

修改 root 登录方式(支持密码登录):

1.进入 mysql 命令行

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的强密码';

FLUSH PRIVILEGES;

exit;

2.现在可用密码登录:mysql -u root -p

###配置远程访问(允许外部工具连接)

  1. 修改配置文件允许监听所有 IP

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

找到 bind-address = 127.0.0.1,修改为:

bind-address = 0.0.0.0

mysql8.0新增

mysqlx-bind-address = 0.0.0.0

  1. 创建远程访问账号(不要直接开放 root 远程)

登录 mysql:mysql -u root -p

执行 SQL(newuser用户名,123456密码,%代表任意 IP):

CREATE USER 'newuser'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

授予全部权限

GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';

FLUSH PRIVILEGES;

exit;

  1. 放行防火墙 3306 端口

开启ufw防火墙(没开可跳过)

sudo ufw allow 3306/tcp

sudo ufw reload

  1. 重启 MySQL 生效

sudo systemctl restart mysql

###卸载 MySQL8

sudo apt remove mysql-server mysql-client -y

sudo apt autoremove -y

彻底删除配置+数据(谨慎,会清空所有数据库)

sudo rm -rf /etc/mysql /var/lib/mysql

###常用基础操作

  1. 创建数据库

CREATE DATABASE db01 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

utf8mb4 完整支持 emoji,推荐默认字符集,不区分大小写、重音

  1. 查看 mysql 版本

mysql -V

或进入mysql执行

SELECT VERSION();

  1. 重置 root 密码(忘记密码时)

停止 mysql

sudo systemctl stop mysql

跳过权限启动

sudo mysqld_safe --skip-grant-tables &

新开终端登录,重置密码

mysql -u root

FLUSH PRIVILEGES;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

exit;

结束后台进程,重启服务

sudo pkill mysqld

sudo systemctl start mysql

相关推荐
91刘仁德2 天前
MySQL 数据类型详解
android·笔记·mysql·adb
茶栀(*´I`*)3 天前
Android 测试入门指南:ADB 基础配置与常用设备管理命令解析
android·adb
2501_915106323 天前
TraceEagle 代理抓包教程 本机和手机的 HTTPS 抓包方法
网络协议·计算机网络·网络安全·ios·adb·https·udp
2501_916007475 天前
抓包工具对比 Charles、Fiddler、TraceEagle、Wireshark 与 Proxyman
前端·网络协议·ios·adb·https·fiddler·wireshark
DB哥讲数据库6 天前
【最新】MySQL9.7安装教程:图文详解(附MySQL安装包)
android·mysql·adb
孙晓鹏life8 天前
MySQL-Seconds_behind_master的精度误差
android·mysql·adb
ttwuai9 天前
GoFrame 连接 MySQL 报错排查:parseTime、时区和 utf8mb4 怎么配
数据库·mysql·adb
儒雅的大叔10 天前
MySQL数据库InnoDB数据恢复工具使用总结
数据库·mysql·adb
zhangjin112010 天前
解决adb -s 按Tab键不自动选择设备的问题
adb