CentOS卸载、安装MySQL8(yum操作)

删除MySQL

shell 复制代码
1、删除yum安装的mysql
yum remove  mysql mysql-server mysql-libs mysql-server
2、查询mysql相关文件目录
find / -name mysql(查询到的文件路径删除)
3、删除查询到的mysql路径
rm -rf 查询到的路径
4、查询安装的依赖
rpm -qa|grep mysql
5、删除掉查询的依赖
yum remove 依赖名称
6、删除mysql配置文件
rm /etc/my.cnf

3、查询系统中是否有以rpm包安装的mysql

shell 复制代码
rpm -qa | grep -i mysql

4、卸载以rpm包安装的mysql(如果没有查询到,这步不用执行)

复制代码
rpm -e rmp安装的mysql包名称

5、删除mysql服务

shell 复制代码
chkconfig --list | grep -i mysql
chkconfig --del mysql

6、mysql文件夹(其实删除yum安装目录里已经做过查询删除操作了,这里查漏补缺一下吧)

shell 复制代码
两个命令都可以查询到mysql都在哪些目录下存在
whereis mysql
find / -name mysql
---------------------
使用rm -rf 删除查询到的目录
记得删除my.cnf文件
rm -rf /usr/my.cnf

安装MySQL

1、安装依赖

shell 复制代码
yum install libaio wget -y

2、下载MySQL仓库文件

shell 复制代码
wget http://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
yum localinstall mysql80-community-release-el7-3.noarch.rpm

3、验证仓库是否添加成功

shell 复制代码
yum repolist enabled | grep "mysql.*-community.*"

4、安装MySQL

shell 复制代码
yum install mysql-community-server -y

可能会出现的错误,以及解决方法

shell 复制代码
错误1、
[root@centos mysql]# yum install mysql-community-server -y
Last metadata expiration check: 0:03:03 ago on Sun 08 May 2022 03:18:14 PM CST.
All matches were filtered out by modular filtering for argument: mysql-community-server
Error: Unable to find a match: mysql-community-server

错误1的解决方法:
执行:yum module disable mysql
再重新执行:yum install mysql-community-server -y

5、设置MySQL8大小写不敏感

建议在安装完成之后,初始化数据库之前修改,不然会比较麻烦

shell 复制代码
1、打开mysql配置文件
vim /etc/my.cnf

2、在文件末尾处添加一行
lower_case_table_names=1

6、执行rpm操作

shell 复制代码
rpm -qi mysql-community-server.x86_64 0:8.0.20-1.el7

7、查看MySQL的安装目录

shell 复制代码
whereis mysql

8、启动服务

shell 复制代码
# 启动mysql服务
systemctl start mysqld
# 开机自启动
systemctl enable mysqld

# 查看服务状态
systemctl status mysqld

9、查找初始密码

shell 复制代码
cat /var/log/mysqld.log | grep password

查询显示
2025-08-04T06:26:27.925329Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: -hk-b!kdS487

10、进入mysql

shell 复制代码
mysql -u root -p

输入获取到的初始密码进去mysql

11、修改密码

shell 复制代码
# 修改root用户密码,这里设置密码规则为mysql_native_password,是因为我的navicat版本比较低,8.0的规则不太适用。
alter user 'root'@'localhost' identified with mysql_native_password by 'AC@ac123456';

# navicat新版本,支持8.0密码规则,使用这个命令修改密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'AC@ac123456';

12、设置允许远程连接

shell 复制代码
# 登录到mysql数据库
use mysql;
# 同上,如果Navicat版本比较低,使用这个命令设置
create user 'root'@'%' identified with mysql_native_password by 'AC@ac123456';

# Navicat版本比较高使用这个命令
update user set host='%' where user='root';

# 刷新
flush privileges;

13、查询字符集

shell 复制代码
# 查看字符集,一般都是utf8mb4
status

至此MySQL卸载和安装的步骤就完成了,链接navicat测试一下能不能连接就可以了。

相关推荐
Linux系统运维工程师_郭主任11 分钟前
运维人还在被拒offer?现在能考的,只有 RHCE 10.0。
linux
自养Agent22 分钟前
MCP Server Boundary Audit Report
linux·服务器·人工智能·windows·大模型·llm
Coisinier1 小时前
docker命令管理镜像及容器
linux·运维·nginx·docker·容器·操作系统
A心有千千结2 小时前
通过 SSH 反向代理让服务器借用本机网络访问 GitHub 的最佳实践
linux·服务器·网络·git·ssh·github
书生执笔画浮沉2 小时前
Linux 内核模块为什么不能自己解决兼容性问题?
linux·c·kernel·update·灵感
15Moonlight2 小时前
Linux网络(03):Socket 编程 TCP
linux·网络·tcp/ip
广州灵眸科技有限公司3 小时前
单芯片同时跑 Linux 与 RT-Thread:RV1126B的AMP异构方案完整拆解
linux·运维·服务器
小雪崩3 小时前
嵌入式学习:Linux驱动开发总结
linux·驱动开发·学习
C++ 老炮儿的技术栈3 小时前
std::atomic 是什么
linux·c语言·网络·c++·visual studio
2401_862880823 小时前
input 子系统框架 、platform 驱动框架
linux·驱动开发·嵌入式硬件