Linux环境下安装部署MySQL8.0以上(内置保姆级教程)

是无坑、一步一图、纯命令行的官方标准安装教程,适配 CentOS 7/8、RHEL、Oracle Linux,全程复制粘贴即可完成,新手零失败。


一、环境准备(必做)

  1. 检查系统是否自带 MySQL/MariaDB
rpm -qa | grep -i mysql
rpm -qa | grep -i mariadb

如果有输出,必须卸载(避免冲突):

yum remove -y 上面查到的包名
  1. 关闭防火墙(可选,生产环境建议开放端口)
# 临时关闭
systemctl stop firewalld
# 永久关闭(重启不恢复)
systemctl disable firewalld
  1. 关闭 SELinux(必须做,否则无法启动)
# 临时关闭
setenforce 0
# 永久关闭(重启生效)
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

二、安装 MySQL 8.0 YUM 源(官方源最稳定)

  1. 下载官方 MySQL YUM 仓库
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm

如果是 CentOS 7,把 el8 改成 el7

  1. 验证源安装成功
ls /etc/yum.repos.d/ | grep mysql

看到 mysql-community.repo 即成功。

三、正式安装 MySQL 8.0

  1. 安装 MySQL 服务
yum install -y mysql-community-server

或

yum install -y mysql-community-server --nogpgcheck

等待自动下载安装完成。

四、启动 MySQL 并设置开机自启

# 启动MySQL并设置开机自启
systemctl start mysqld
systemctl enable mysqld

# 查看MySQL状态
systemctl status mysqld

看到 active (running) 绿色字样 = 启动成功 ✅

五、获取初始密码(非常重要)

MySQL 8.0 安装后会自动生成随机初始密码,必须先找到它!

grep 'temporary password' /var/log/mysqld.log

输出示例:

A temporary password is generated for root@localhost: **********

: 后面的一串字符就是初始密码,复制保存好!

六、初始化配置(安全设置)

mysql_secure_installation

执行后:

  1. 输入刚才复制的初始密码
  2. 设置新的复杂密码(必须包含大小写、数字、特殊符号)
  3. 一路按 Y 确认即可

详细执行步骤

  1. 输完临时密码回车
  2. New password: 设新密码 Mysql@8888
  3. Re-enter new password: 再输一遍确认
  4. Change the password? 输入 Y 回车
  5. Remove anonymous users? → Y
  6. Disallow root login remotely? → Y(禁止外网远程 root 登录,安全)
  7. Remove test database and access to it? → Y
  8. Reload privilege tables now? → Y

全部走完就初始化完成了

七、登录测试

mysql -uroot -p

输入你设置的新密码,能进去就代表安装成功!

八、修改数据库密码

  1. 登录 MySQL
mysql -uroot -p

粘贴刚才的初始密码,密码输入不显示,直接回车即可。

  1. 修改 root 密码(必须符合强度要求)

MySQL 8.0 默认密码策略:大小写 + 数字 + 特殊符号,长度≥8 位。

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

示例(可直接用):

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql@8888';

出现 Query OK 说明密码修改成功 ✅

  1. 刷新权限
FLUSH PRIVILEGES;

八、配置远程连接(Navicat / 工具连接必备)

  1. 新增一个远程用户
use mysql;

-- 创建远程 root 用户(推荐)
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';

-- 授予所有权限
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;

-- 刷新权限
FLUSH PRIVILEGES;
exit;
  1. 本地用户修改成远程,备用,默认 MySQL 只允许本机连接,必须开启远程权限。
  1. 切换到 mysql 库
use mysql;
  1. 修改 root 允许任意 IP 访问
UPDATE user SET host='%' WHERE user='root';
  1. 刷新权限
FLUSH PRIVILEGES;
  1. 退出 MySQL
exit;

九、MySQL 8.0 常用命令(收藏)

# 启动
systemctl start mysqld

# 停止
systemctl stop mysqld

# 重启
systemctl restart mysqld

# 查看状态
systemctl status mysqld

# 登录
mysql -uroot -p
上一篇 Docker Compose 常用命令大全(附示例配置)
下一篇 Docker 一键部署qBittorrent