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 系统。