Centos8或AlmaLinux8安装MySql5.7
Centos 系列已经结束了,推荐使用平替 AlmaLinux 系列,几乎没有区别!
Centos 8 和 AlmaLinux 8 自带的是 MySQL 8.0,如果不小心安装了就需要先卸载再安装 MySQL5.7。
卸载MySQL8
在CentOS 8上卸载MySQL 8,可以按照以下步骤进行:
- 停止MySQL服务:
首先,需要停止正在运行的MySQL服务。可以通过以下命令来停止服务:
sudo systemctl stop mysqld
- 卸载MySQL软件包:
使用yum包管理器来卸载MySQL软件包。运行以下命令以卸载MySQL 8:
sudo yum remove mysql-server
如果有其他相关的MySQL软件包,如
mysql-client
,也可以一并卸载:sudo yum remove mysql-client
- 删除MySQL数据和配置文件:
卸载软件包后,需要手动删除MySQL的数据库文件和配置文件。运行以下命令来删除这些文件:
sudo rm -rf /var/lib/mysql sudo rm /etc/my.cnf
请注意,这些操作将永久删除所有数据库和配置信息,请务必在执行前备份重要数据。
- 清理系统中的残余文件:
为了彻底卸载MySQL,还需要清理系统中可能残留的MySQL文件。可以运行以下命令来删除残余文件:
sudo rm -rf /var/log/mysql sudo rm -rf /var/run/mysqld
- 确认MySQL是否已完全卸载:
最后,可以通过运行以下命令来确认MySQL是否已成功卸载:
mysql --version
如果命令返回“command not found”,则表示MySQL已成功卸载。
请注意,在执行卸载操作之前,强烈建议备份重要的数据库和配置文件,以防万一。此外,卸载过程中应谨慎操作,避免误删其他重要文件。
安装MySQL5.7
一、检查并卸载已有的MySQL或MariaDB
- 使用以下命令检查是否已安装MySQL或MariaDB:
rpm -qa | grep mysql rpm -qa | grep mariadb
如果发现有安装,请使用
yum remove
命令卸载。
二、下载并安装MySQL 5.7
- 下载MySQL 5.7的YUM源:
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
- 安装下载的YUM源:
yum localinstall mysql57-community-release-el7-11.noarch.rpm
- 禁用默认的MySQL 8.0模块(如果已启用),并启用MySQL 5.7模块:
yum module disable mysql yum-config-manager --enable mysql57-community
- 安装MySQL服务器:
yum install -y mysql-community-server --nogpgcheck
这一步如果遇到 Error: GPG check FAILED 问题,需要先执行下面的命令
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
再执行上面的安装命令就不会报错了。
- 修改数据库默认编码
vim /etc/my.cnf
补充下面这一行:
[mysqld] character-set-server=utf8
三、启动和配置MySQL
- 启动MySQL服务:
systemctl start mysqld
- 设置MySQL开机自启:
systemctl enable mysqld
- 获取初始密码并登录MySQL(初始密码位于
/var/log/mysqld.log
文件中):grep 'temporary password' /var/log/mysqld.log mysql -uroot -p
- 修改root密码并设置新密码(请确保密码符合复杂度要求):
-- 如果需要设置简单密码,需要先调整为LOW SET GLOBAL validate_password_policy = LOW; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
- 开放MySQL的远程访问端口3306:
mysql> 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访问
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="x.x.x.x" port protocol="tcp" port="3306" accept' firewall-cmd --reload
四、测试连接
- 使用新密码测试连接到MySQL:
mysql -uroot -p
注意事项:
- 确保按照上述步骤操作,并注意替换“新密码”为你自己的密码。
- 如果在安装过程中遇到问题,可以查看日志文件
/var/log/mysqld.log
以获取更多信息。
版权声明:凡未经本网站书面授权,任何媒体、网站及个人不得转载、复制、重制、改动、展示或使用本网站的局部或全部的内容或服务,或在非本网站所属服务器上建立镜像。如果已转载,请自行删除。同时,我们保留进一步追究相关行为主体的法律责任的权利。我们希望与各媒体合作,签订著作权有偿使用许可合同,故转载方须书面/邮件申请,以待商榷。