在CentOS上安装MySQL 5.7是一个相对直接的过程,但需要确保遵循正确的步骤以避免常见的错误,以下是详细的安装指南:
一、安装前准备
1、确认系统版本:执行cat /etc/redhatrelease
命令,确认系统为CentOS 7,因为不同版本的CentOS在软件包管理和依赖关系上可能有所不同,本指南主要针对CentOS 7进行讲解。

2、更新系统软件包:使用yum update y
命令更新系统已安装的软件包到最新版本,以确保系统的稳定性和兼容性。
3、检查是否已安装MariaDB:执行rpm qa | grep mariADB
命令,如果系统已经安装了MariaDB,建议卸载它,以免与MySQL产生冲突。
二、安装步骤
1、下载并安装MySQL YUM资源库:从MySQL官方网站(httPS://dev.mysql.com/downloads/repo/yum/)下载适用于CentOS 7的YUM资源库文件mysql57communityreleaseel711.noarch.rpm
,然后执行rpm ivh mysql57communityreleaseel711.noarch.rpm
命令进行安装,这一步是为了让系统能够通过YUM命令安装MySQL 5.7。
2、安装MySQL 5.7服务器端:执行yum install y mysqlcommunityserver
命令,开始安装MySQL 5.7服务器端,在安装过程中,YUM会自动解决依赖关系并下载所需的软件包。
3、启动MySQL服务:安装完成后,执行systemctl start mysqld
命令启动MySQL服务,然后使用systemctl enable mysqld
命令设置MySQL服务开机自启,确保系统重启后MySQL服务自动启动。
4、获取临时密码:执行grep 'A temporary password' /var/log/mysqld.log
命令,从MySQL的错误日志文件中获取初始临时密码,这个临时密码是root用户在第一次登录时使用的。

5、登录并修改密码:使用命令mysql u root p
,当提示输入密码时,输入临时密码登录到MySQL,成功登录后,执行ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
命令修改root用户的密码(将new_password
替换为你希望设置的新密码),为了确保新密码生效,可以接着执行FLUSH PRIVILEGES;
命令刷新权限缓存。
三、常见问题及解决方法
1、问题:如果遇到“Error: Access denied for user ‘root’@‘localhost’”错误,可能是因为使用了错误的密码或者MySQL服务未启动。
解决方法:首先检查MySQL服务是否正在运行,如果没有,则启动MySQL服务;然后确保你使用的是从错误日志中获取的正确临时密码登录。
2、问题:如果遇到“ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.”错误,这是因为MySQL 5.7默认要求密码必须符合一定的复杂性要求。
解决方法:可以使用以下命令修改密码策略参数来解决这个问题:
- set global validate_password_policy=0;
- set global validate_password_length=1;
然后再尝试修改密码,不过需要注意的是,这样做会降低密码的安全性,建议在测试环境中使用,生产环境请设置符合安全要求的密码。

四、相关配置(可选)
1、开放远程访问端口:如果需要在远程访问MySQL数据库,需要开放3306端口,执行以下命令:
- firewallcmd zone=public addport=3306/tcp permanent
- firewallcmd reload
这将永久开放3306端口,并在防火墙规则中添加相应配置。
2、创建普通用户并授权:为了数据库的安全性,不建议使用root用户进行日常操作,可以创建一个普通用户并授予相应的权限。
- CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
- GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;
- FLUSH PRIVILEGES;
将username
和password
替换为你想要创建的用户名和密码。
五、FAQs
1、Q:为什么选择MySQL 5.7而不是其他版本?
A:MySQL 5.7是长期支持版本,具有稳定性高、功能丰富等优点,适合大多数企业和个人用户的需求,如果你有特殊需求,也可以选择其他版本,但在选择时需要考虑版本的维护周期和功能特性等因素。
2、Q:安装过程中出现依赖冲突怎么办?
A:如果在安装过程中出现依赖冲突,通常是由于系统中已经安装的某些软件与MySQL的依赖存在冲突,可以尝试卸载冲突的软件包,或者使用skipbroken
选项跳过冲突继续安装,但这种方法可能会导致部分功能不可用,建议在安装前仔细检查系统的软件包依赖关系,避免出现冲突。