linux中通过yum安装mysql需先卸载mariadb、添加mysql官方yum源并启用8.0仓库,再安装mysql-community-server、启动服务、获取临时密码、登录后修改密码及可选认证方式。

Linux 中通过 Yum 安装 MySQL,核心是用官方 MySQL YUM 仓库替换系统默认源,避免误装 MariaDB。CentOS/RHEL 7/8 等主流发行版都适用,但步骤细节略有差异。下面按实际操作逻辑分步说明,不绕弯、不跳步。
确认系统环境并清理干扰项
先检查是否已装 MariaDB(它会抢占 mysql 命令和端口):
- 运行
rpm -qa | grep mariadb,若有输出,执行sudo yum remove mariadb-libs -y彻底卸载 - 再运行
which mysql和systemctl list-unit-files | grep mysqld,确保无残留服务或二进制文件 - 若之前试装失败过,建议清空数据目录:
sudo rm -rf /var/lib/mysql(仅限全新安装)
添加并启用 MySQL 官方 YUM 源
这是最关键的一步——不用官方源,yum install mysql-server 默认装的是 MariaDB。
- 下载对应系统的 repo 包(以 CentOS 7 为例):
wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm - 安装源配置:
sudo rpm -ivh mysql80-community-release-el7-11.noarch.rpm - 禁用 MySQL 5.7 子仓库(防止自动降级):
sudo yum-config-manager --disable mysql57-community - 确认 8.0 已启用:
sudo yum repolist enabled | grep mysql,应看到mysql80-community
安装、启动与初始化服务
安装包本身不含数据,首次启动会自动生成数据目录和初始密码。
- 执行安装:
sudo yum install mysql-community-server -y - 启动服务并设开机自启:
sudo systemctl start mysqld && sudo systemctl enable mysqld - 查看状态确认运行正常:
sudo systemctl status mysqld(显示 active (running) 即可) - 获取临时 root 密码:
sudo grep 'temporary password' /var/log/mysqld.log(末尾一串字符就是)
登录并完成安全配置
MySQL 8.0 默认使用 caching_sha2_password 插件,部分客户端可能连不上;密码策略也较严格。
- 用临时密码登录:
mysql -u root -p - 立即修改密码(至少 8 位,含大小写字母+数字+特殊符号):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourPass@2026'; - 如需兼容旧工具(如 Navicat 旧版、PHP 7.4),切换认证方式:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourPass@2026'; - 刷新权限:
FLUSH PRIVILEGES;
不复杂但容易忽略:每一步都依赖上一步成功。尤其别跳过卸载 MariaDB 和启用正确仓库这两步,否则后面全是“Access denied”或“Unknown plugin”的报错。











