当前位置: 首页 > news >正文

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

http://www.dtcms.com/a/310038.html

相关文章:

  • 机器学习②【字典特征提取、文本特征处理(TF-IDF)、数据标准化与归一化、特征降维】
  • 在纯servlet项目中,使用@WebFilter定义了多个filter,如何设置filter的优先级
  • 力扣刷题日常(9-10)(待完善)
  • Python中.format()使用详解和格式化控制台日志场景示例
  • 【C语言入门级教学】字符指针变量
  • 逻辑回归算法中的一些问题
  • React核心:组件化与虚拟DOM揭秘
  • 《React Router深解:复杂路由场景下的性能优化与导航流畅性构建》
  • Rust → WebAssembly 的性能剖析全指南
  • NDI开发指南
  • SQL中的HAVING用法
  • SQL中的LEFT JOIN
  • 图论-最短路Floyd算法
  • OpenAI ChatGPT Agent横空出世:全能工具+实时交互,重新定义AI智能体的终极形态
  • 【go】switch用法梳理与总结
  • [论文阅读] 人工智能 + 软件工程 | Trae Agent:让AI智能体高效解决仓库级软件问题,登顶SWE-bench排行榜
  • gd32modbus从机移植
  • Nature图形复现—Graphpad绘制带P值的含数据点的小提琴图
  • etcd 的安装与使用
  • Go语言中的盲点:竞态检测和互斥锁的错觉
  • Python day31
  • qt中的手势
  • Element-plus的 ElMessage 另一种展示形式
  • 1.6万 Star 的流行容器云平台停止开源
  • 【n8n】如何跟着AI学习n8n【04】:错误处理与日志监控
  • 学习游戏制作记录(各种水晶能力以及多晶体)8.1
  • 流式编程终端操作
  • UnionApplication
  • 【C++/STL】vector基本介绍
  • 关于cherryusb的in/out完成条件