Centos 系列已经结束了,推荐使用平替 AlmaLinux 系列,几乎没有区别!
Centos 8 和 AlmaLinux 8 自带的是 MySQL 8.0,如果不小心安装了就需要先卸载再安装 MySQL5.7。
卸载MySQL8
在CentOS 8上卸载MySQL 8,可以按照以下步骤进行:
-
停止MySQL服务: 首先,需要停止正在运行的MySQL服务。可以通过以下命令来停止服务:
Shellsudo systemctl stop mysqld -
卸载MySQL软件包: 使用yum包管理器来卸载MySQL软件包。运行以下命令以卸载MySQL 8:
Shellsudo yum remove mysql-server如果有其他相关的MySQL软件包,如
mysql-client,也可以一并卸载:Shellsudo yum remove mysql-client -
删除MySQL数据和配置文件: 卸载软件包后,需要手动删除MySQL的数据库文件和配置文件。运行以下命令来删除这些文件:
Shellsudo rm -rf /var/lib/mysql sudo rm /etc/my.cnf请注意,这些操作将永久删除所有数据库和配置信息,请务必在执行前备份重要数据。
-
清理系统中的残余文件: 为了彻底卸载MySQL,还需要清理系统中可能残留的MySQL文件。可以运行以下命令来删除残余文件:
Shellsudo rm -rf /var/log/mysql sudo rm -rf /var/run/mysqld -
确认MySQL是否已完全卸载: 最后,可以通过运行以下命令来确认MySQL是否已成功卸载:
Shellmysql --version如果命令返回“command not found”,则表示MySQL已成功卸载。
请注意,在执行卸载操作之前,强烈建议备份重要的数据库和配置文件,以防万一。此外,卸载过程中应谨慎操作,避免误删其他重要文件。
安装MySQL5.7
一、检查并卸载已有的MySQL或MariaDB
- 使用以下命令检查是否已安装MySQL或MariaDB:如果发现有安装,请使用Shell
rpm -qa | grep mysql rpm -qa | grep mariadbyum remove命令卸载。
二、下载并安装MySQL 5.7
-
下载MySQL 5.7的YUM源:
Shellwget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm -
安装下载的YUM源:
Shellyum localinstall mysql57-community-release-el7-11.noarch.rpm -
禁用默认的MySQL 8.0模块(如果已启用),并启用MySQL 5.7模块:
Shellyum module disable mysql yum-config-manager --enable mysql57-community -
安装MySQL服务器:
Shellyum install -y mysql-community-server --nogpgcheck这一步如果遇到 Error: GPG check FAILED 问题,需要先执行下面的命令
Shellrpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022再执行上面的安装命令就不会报错了。
-
修改数据库默认编码
Shellvim /etc/my.cnf补充下面这一行:
[mysqld] character-set-server=utf8
三、启动和配置MySQL
-
启动MySQL服务:
Shellsystemctl start mysqld -
设置MySQL开机自启:
Shellsystemctl enable mysqld -
获取初始密码并登录MySQL(初始密码位于
/var/log/mysqld.log文件中):Shellgrep 'temporary password' /var/log/mysqld.log mysql -uroot -p -
修改root密码并设置新密码(请确保密码符合复杂度要求):
SQL-- 如果需要设置简单密码,需要先调整为LOW SET GLOBAL validate_password_policy = LOW; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; -
开放MySQL的远程访问端口3306:
SQLmysql> use mysql mysql> update user set host='%' where user ='root'; mysql> FLUSH PRIVILEGES; mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; mysql> FLUSH PRIVILEGES;如果使用防火墙,需要开放3306端口,建议只允许指定ip访问
Shellfirewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="x.x.x.x" port protocol="tcp" port="3306" accept' firewall-cmd --reload
四、测试连接
- 使用新密码测试连接到MySQL:Shell
mysql -uroot -p
注意事项:
- 确保按照上述步骤操作,并注意替换“新密码”为你自己的密码。
- 如果在安装过程中遇到问题,可以查看日志文件
/var/log/mysqld.log以获取更多信息。
还没有评论,来说点什么。