打开终端,并使用以下命令添加 MySQL 5.7 的软件源
sudo dnf install https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
下载 MySQL 公钥文件
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql
确认公钥已正确导入
sudo rpm -qa gpg-pubkey*
安装 MySQL 5.7
sudo dnf install mysql-community-server -y
如果您仍然遇到 GPG 检查失败的错误,在运行安装命令时,可以使用 --nogpgcheck 选项禁用 GPG 检查。例如:
sudo dnf install mysql-community-server --nogpgcheck -y
完成安装后,启动 MySQL 服务
sudo systemctl enable mysqld
sudo systemctl start mysqld
使用以下命令查看 MySQL 服务状态,确保它正在运行
sudo systemctl status mysqld
查看root密码
sudo grep 'temporary password' /var/log/mysqld.log
运行以下命令来保护您的 MySQL 安装 sudo mysql_secure_installation
[root@localhost ~]# sudo mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root: //输入root密码
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration of the plugin.
Using existing password for root.
Estimated strength of the password: 25
Change the password for root ? ((Press y|Y for Yes, any other key for No) : No //是否更改root密码,如果输入y会要求设置新的密码
... skipping.
By default, a MySQL installation has an anonymous user,allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y //是否删除匿名用户,建议y删除
Success.
Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y //是否禁止root远程登录,建议y禁止
Success.
By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y //是否删除test数据库,y删除
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y //是否重新加载权限表,y重新加载
Success.
All done!