是无坑、一步一图、纯命令行的官方标准安装教程,适配 CentOS 7/8、RHEL、Oracle Linux,全程复制粘贴即可完成,新手零失败。
一、环境准备(必做)
- 检查系统是否自带 MySQL/MariaDB
rpm -qa | grep -i mysql
rpm -qa | grep -i mariadb
如果有输出,必须卸载(避免冲突):
yum remove -y 上面查到的包名
- 关闭防火墙(可选,生产环境建议开放端口)
# 临时关闭
systemctl stop firewalld
# 永久关闭(重启不恢复)
systemctl disable firewalld
- 关闭 SELinux(必须做,否则无法启动)
# 临时关闭
setenforce 0
# 永久关闭(重启生效)
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
二、安装 MySQL 8.0 YUM 源(官方源最稳定)
- 下载官方 MySQL YUM 仓库
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm
如果是 CentOS 7,把
el8改成el7
- 验证源安装成功
ls /etc/yum.repos.d/ | grep mysql
看到 mysql-community.repo 即成功。
三、正式安装 MySQL 8.0
- 安装 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
执行后:
- 输入刚才复制的初始密码
- 设置新的复杂密码(必须包含大小写、数字、特殊符号)
- 一路按
Y确认即可
详细执行步骤
- 输完临时密码回车
New password:设新密码Mysql@8888Re-enter new password:再输一遍确认Change the password?输入 Y 回车Remove anonymous users?→ YDisallow root login remotely?→ Y(禁止外网远程 root 登录,安全)Remove test database and access to it?→ YReload privilege tables now?→ Y
全部走完就初始化完成了
七、登录测试
mysql -uroot -p
输入你设置的新密码,能进去就代表安装成功!
八、修改数据库密码
- 登录 MySQL
mysql -uroot -p
粘贴刚才的初始密码,密码输入不显示,直接回车即可。
- 修改 root 密码(必须符合强度要求)
MySQL 8.0 默认密码策略:大小写 + 数字 + 特殊符号,长度≥8 位。
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
示例(可直接用):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql@8888';
出现 Query OK 说明密码修改成功 ✅
- 刷新权限
FLUSH PRIVILEGES;
八、配置远程连接(Navicat / 工具连接必备)
- 新增一个远程用户
use mysql;
-- 创建远程 root 用户(推荐)
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
-- 授予所有权限
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;
-- 刷新权限
FLUSH PRIVILEGES;
exit;
- 本地用户修改成远程,备用,默认 MySQL 只允许本机连接,必须开启远程权限。
- 切换到 mysql 库
use mysql;
- 修改 root 允许任意 IP 访问
UPDATE user SET host='%' WHERE user='root';
- 刷新权限
FLUSH PRIVILEGES;
- 退出 MySQL
exit;
九、MySQL 8.0 常用命令(收藏)
# 启动
systemctl start mysqld
# 停止
systemctl stop mysqld
# 重启
systemctl restart mysqld
# 查看状态
systemctl status mysqld
# 登录
mysql -uroot -p