在CentOS7上安装MySQL 5.7是一个关键任务,因为MySQL是一个广泛使用的开源关系型数据库管理系统,对于许多Web应用程序和服务来说是核心组件。本文档将详细指导您完成CentOS 7上MySQL 5.7的安装过程,包括在线和离线安装方法,以及设置初始密码、更改安全设置和允许远程访问。为了确保安装过程顺利进行,我们需要更改YUM源。这是因为CentOS的默认源可能不包含最新的MySQL软件包,而阿里云的YUM源通常更新更及时。要更改YUM源,请按照以下步骤操作: 1.备份当前的YUM源配置文件: ``` mv /etc/yum.repos.d/CentOS-Base.repo.bak ``` 2.下载并应用阿里云的YUM源: ``` wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo ``` 3.清理缓存并更新系统(注意:`yum update`可能会更新所有系统包,这可能需要较长时间): ``` yum clean all yum makecache yum update ```接下来,我们将介绍在线安装和离线安装MySQL 5.7的方法。 **在线安装** 1.下载MySQL社区版的RPM包: ``` wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm ``` 2.安装RPM包: ``` yum localinstall mysql57-community-release-el7-8.noarch.rpm ``` 3.安装MySQL服务器: ``` yum install mysql-community-server ``` 4.启动MySQL服务: ``` systemctl start mysqld ``` **离线安装** 1.解压缩MySQL的二进制包: ``` tar -xzvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz ``` 2.将解压后的目录移动到`/usr/local/`: ``` mv mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/mysql ``` 3.初始化MySQL数据目录,并记录生成的临时密码(在输出中查找): ``` /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data ``` 4.设置MySQL启动为守护进程: ``` /usr/local/mysql/bin/mysqld_safe --user=mysql & ```离线安装后,您需要使用初始化命令时提示的密码登录MySQL。例如,如果密码是`TIqkIrj=:0Uh`,则使用以下命令登录: ``` mysql -uroot -pTIqkIrj=:0Uh ```登录后,建议更改root用户的默认密码并开启远程访问: 1.禁用密码策略(可选,以便使用简单密码): ``` SET GLOBAL validate_password_policy=0; ``` 2.设置密码长度(可选,根据需求设置): ``` SET GLOBAL validate_password_length=1; ``` 3.更新root用户的密码: ``` SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); ``` 4.授予root用户远程访问权限: ``` GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'; ``` 5.刷新权限以使更改生效: ``` FLUSH PRIVILEGES; ```为了远程访问MySQL,您可能还需要在防火墙中打开3306端口(默认MySQL端口)并配置服务器的防火墙规则。此外,可以使用如Navicat这样的数据库管理工具进行远程连接。安装Navicat或其他类似工具后,使用上述设置的远程登录凭据即可连接到MySQL服务器。通过遵循这些步骤,您可以在CentOS 7上成功安装MySQL 5.7,并配置必要的安全措施和远程访问权限。记得在生产环境中考虑更多的安全最佳实践,例如定期更改密码、限制用户权限和监控数据库活动。