Linux(CentOS 7.9) 卸载、安装MySql 5.7详细步骤教程,包括密码设置、字符集设置等
一、彻底卸载 MySQL(如需重装)
1.停止 MySQL 服务
systemctl stop mysqld
2.查询已安装的 MySQL 组件
rpm -qa | grep -i mysql
3.卸载所有组件(替换为实际查询结果)
rpm -e --nodeps 包名1 包名2 ...
# 示例:
rpm -e --nodeps mysql-community-server-5.7.44-1.el7.x86_64
rpm -e --nodeps mysql-community-client-5.7.44-1.el7.x86_64
rpm -e --nodeps mysql-community-libs-5.7.44-1.el7.x86_64
rpm -e --nodeps mysql-community-common-5.7.44-1.el7.x86_64
rpm -e --nodeps mysql57-community-release-el7-11.noarch
4.删除残留文件
rm -rf /var/lib/mysql # 数据目录
rm -rf /var/log/mysqld.log # 日志文件
rm -rf /etc/my.cnf # 配置文件
二、重新安装 MySQL 5.7
1.安装依赖与 YUM 源
# 安装基础依赖
yum install -y wget net-tools
# 下载MySQL 5.7 YUM源
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# 安装YUM源
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
2. 导入 GPG 密钥(解决验证问题)
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
3. 安装 MySQL 服务器
yum install -y mysql-community-server
# 若提示GPG错误,临时使用:yum install -y mysql-community-server --nogpgcheck
4. 启动服务并设置开机自启
systemctl start mysqld # 启动服务
systemctl enable mysqld # 开机自启
systemctl status mysqld # 确认状态为active (running)
三、配置 root 密码(例如:123456)
1. 跳过密码验证登录
# 编辑配置文件
vi /etc/my.cnf
在[mysqld]
区块添加:
skip-grant-tables # 跳过密码验证(图中skip-grant-tables前的#号先不要添加,后续再添加)
保存后重启服务:
systemctl restart mysqld
2. 无密码登录并临时修改密码
mysql -u root # 直接登录,无需密码
在 MySQL 命令行执行:
use mysql;
# 临时设置一个复杂密码(用于绕过首次强制验证)
update user set authentication_string=password('Temp@123456') where user='root' and host='localhost';
flush privileges;
exit;
3. 恢复密码验证并正式设置密码
# 编辑配置文件,删除或注释掉"skip-grant-tables"
vi /etc/my.cnf
systemctl restart mysqld # 重启服务
4. 用临时密码登录并调整策略
mysql -u root -p # 输入临时密码Temp@123456
在 MySQL 命令行执行:
# 降低密码策略(允许简单密码)
set global validate_password_policy=0;
set global validate_password_length=6;
# 正式修改密码为123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
flush privileges;
四、配置默认字符集为 utf8mb4
1. 编辑配置文件
vi /etc/my.cnf
替换为以下内容:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
symbolic-links=0
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
[client]
default-character-set=utf8mb4
socket=/var/lib/mysql/mysql.sock
[mysql]
default-character-set=utf8mb4
socket=/var/lib/mysql/mysql.sock
2. 重启服务生效
systemctl restart mysqld
3. 验证字符集
mysql -u root -p # 输入123456登录
在 MySQL 命令行执行:
show variables like '%character%';
show variables like '%collation%';
确认关键参数(如character_set_server)值为utf8mb4。
五、可选:配置远程访问、防火墙
1. 开放防火墙端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
2.允许 root 远程登录
mysql -u root -p # 登录后执行
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
exit;
通过以上步骤,可完成 MySQL 5.7 的卸载、重装、密码设置(123456)和字符集配置(utf8mb4),适用于 CentOS 7.9 系统。