Administrator
发布于 2026-04-25 / 2 阅读
0
0

Linux系统安装部署 MySQL8.0

CentOS/Rocky Linux 8/9、RHEL 8/9 为例,用 dnf 安装 MySQL 8.0 社区版(官方源,可直接装 8.0,不装 8.4)。


1. 先卸载冲突的 MariaDB(必须)

bash

运行

sudo dnf -y remove mariadb* boost-*
sudo rm -rf /etc/my.cnf /var/lib/mysql

2. 导入 MySQL 官方 GPG 密钥(避免公钥错误)

bash

运行

sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023

3. 安装 MySQL 8.0 官方 yum 源

CentOS/Rocky/RHEL 8

bash

运行

sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

CentOS/Rocky/RHEL 9

bash

运行

sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

检查是否启用:

bash

运行

dnf repolist enabled | grep mysql
# 看到 mysql80-community 即可

4. 安装 MySQL 8.0 服务器

bash

运行

sudo dnf install -y mysql-community-server

查看版本:

bash

运行

mysqladmin -V
# 输出应为 8.0.xx

5. 启动服务并设置开机自启

bash

运行

sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl status mysqld
# 显示 active (running) 正常

6. 查看初始临时密码

bash

运行

sudo grep 'temporary password' /var/log/mysql/mysqld.log
# 类似:A temporary password is generated for root@localhost: abcdefg123456

7. 登录并修改 root 密码(强密码)

bash

运行

mysql -u root -p
# 输入上面查到的临时密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的强密码!123';
# 密码必须:大小写+数字+符号,长度≥8

exit;

8. 安全配置(可选推荐)

bash

运行

sudo mysql_secure_installation

按提示:

  • 设置密码策略(建议选 1 中等)

  • 删除匿名用户

  • 禁止 root 远程登录(后续需远程再改)

  • 删除 test 库

  • 刷新权限表


9. 开放远程访问(如需)

9.1 改配置允许所有地址监听

bash

运行

sudo vi /etc/my.cnf
# [mysqld] 下添加/修改:
bind-address = 0.0.0.0

sudo systemctl restart mysqld

9.2 创建远程 root 用户(示例)

bash

运行

mysql -u root -p

CREATE USER 'root'@'%' IDENTIFIED BY '你的强密码!123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;

9.3 放行防火墙(firewalld)

bash

运行

sudo firewall-cmd --add-service=mysql --permanent
sudo firewall-cmd --reload

常见问题

  • GPG key 错误:重新执行第 2 步导入密钥

  • 装成了 8.4:必须用 mysql80-community-release 而不是 84 的包

  • 启动失败:检查 /var/log/mysqld.log,常见原因是旧数据目录残留或权限问题


评论