【QA】Linux-CentOS彻底卸载MySQL

文章概述

Linux系统下,若要卸载干净默认的MySQL,从而安装新的版本,需要卸载干净,不然会在不经意间影响后续安装

文章演示的系统:Linux CentOS

卸载步骤

1、查询是否安装了MySQL

sh 复制代码
[root@localhost ~]# rpm -qa | grep mysql
mysql-community-client-5.7.44-1.el7.x86_64
mysql57-community-release-el7-10.noarch
mysql-community-libs-5.7.44-1.el7.x86_64
mysql-community-server-5.7.44-1.el7.x86_64
mysql-community-common-5.7.44-1.el7.x86_64

查询到相关安装包,进行后续卸载

2、查看MySQL服务是否已开启,若开启则需要关闭

sh 复制代码
[root@localhost ~]# systemctl status mysqld
[root@localhost ~]# systemctl stop mysqld

3、查询含有MySQL的目录并删除

以下是查询结果:

sh 复制代码
[root@localhost ~]# find / -name mysql
find: '/run/user/1000/gvfs': Permission denied
/etc/logrotate.d/mysql							# 删除
/etc/selinux/targeted/active/modules/100/mysql	# 删除
/etc/selinux/targeted/tmp/modules/100/mysql		# 删除
/root/.virtualenvs/icwp/lib/python3.8/site-packages/django/contrib/gis/db/backends/mysql
/root/.virtualenvs/icwp/lib/python3.8/site-packages/django/db/backends/mysql
/root/mysql
/root/mysql/data/mysql
/var/lib/docker/volumes/f0ece572bc8f6fb3b7448210bb4ead64e622062f7d41e225d17b99659e945b6a/_data/mysql
/var/lib/docker/volumes/58aaeb5cb98e01083d9624bd1981ed4cdf65436d7019b77b471e6bd0cefa9e3b/_data/mysql
/var/lib/docker/overlay2/4f71b050ff227dd296891c0ebd6210744dda330e0a03ec3ed2616c537809ea98/diff/etc/mysql
/var/lib/docker/overlay2/4f71b050ff227dd296891c0ebd6210744dda330e0a03ec3ed2616c537809ea98/diff/usr/bin/mysql
/var/lib/docker/overlay2/4f71b050ff227dd296891c0ebd6210744dda330e0a03ec3ed2616c537809ea98/diff/usr/lib/mysql
/var/lib/docker/overlay2/4f71b050ff227dd296891c0ebd6210744dda330e0a03ec3ed2616c537809ea98/diff/var/lib/mysql
/var/lib/docker/overlay2/71fdf5f5044d7f7a1a6a31b44c1c201abe5ac8d681ee09bf66120a77225d2f66/diff/etc/mysql
/var/lib/mysql				# 删除
/var/lib/mysql/mysql		# 删除
/usr/bin/mysql				# 删除
/usr/lib64/mysql			# 删除
/usr/share/mysql			# 删除
/usr/local/mysql			# 删除
/opt/gitlab/embedded/lib/ruby/gems/3.1.0/gems/activerecord-7.0.8/lib/active_record/connection_adapters/mysql

对于我这台电脑来讲:

  • /var/lib/docker目录下是docker配置的有关mysql的挂载信息,不用管,不影响安装新版本的MySQL
  • /root目录下的内容,看路径后缀,可以知道是python中django库的相关依赖

上述两个路径下的内容是不用删除的

**一般来说,**Linux默认安装MySQL且有关数据存储的位置,一般是在如下目录下:

  • /var/lib/目录下
  • /usr/目录下

一个一个删除上述要删除的目录

sh 复制代码
rm -rf /var/lib/mysql /var/lib/mysql/mysql /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql /usr/local/mysql
rm -rf /etc/logrotate.d/mysql /etc/selinux/targeted/active/modules/100/mysql /etc/selinux/targeted/tmp/modules/100/mysql

有个目录要注意额外删除!!!

sh 复制代码
# mysql配置信息所在的目录,这个目录不带mysql字样
rm -rf /etc/my.cnf

4、查询MySQL安装的组件服务,并删除

查询:

sh 复制代码
[root@localhost ~]# rpm -qa|grep -i mysql
mysql-community-server-5.7.44-1.el7.x86_64
mysql-community-common-5.7.44-1.el7.x86_64
mysql-community-client-5.7.44-1.el7.x86_64
mysql57-community-release-el7-10.noarch
mysql-community-libs-5.7.44-1.el7.x86_64

一个一个删除:

sh 复制代码
[root@localhost ~]# rpm -ev mysql-community-server-5.7.44-1.el7.x86_64
[root@localhost ~]# rpm -ev mysql-community-common-5.7.44-1.el7.x86_64
[root@localhost ~]# rpm -ev mysql-community-client-5.7.44-1.el7.x86_64
[root@localhost ~]# rpm -ev mysql57-community-release-el7-10.noarch
[root@localhost ~]# rpm -ev mysql-community-libs-5.7.44-1.el7.x86_64

若上述命令无法删除,改用如下命令:

sh 复制代码
# 若删除不了,改用如下命令
[root@localhost ~]# rpm -ev --nodeps mysql-community-server-5.7.44-1.el7.x86_64
[root@localhost ~]# rpm -ev --nodeps mysql-community-common-5.7.44-1.el7.x86_64
[root@localhost ~]# rpm -ev --nodeps mysql-community-client-5.7.44-1.el7.x86_64
[root@localhost ~]# rpm -ev --nodeps mysql57-community-release-el7-10.noarch
[root@localhost ~]# rpm -ev --nodeps mysql-community-libs-5.7.44-1.el7.x86_64

5、检查是否卸载干净

sh 复制代码
[root@localhost ~]# rpm -qa | grep -i mysql		# 无相关安装
[root@localhost ~]# systemctl start mysql
Failed to start mysql.service: Unit not found.	# 证明已卸载干净
相关推荐
快来卷java35 分钟前
JVM虚拟机篇(五):深入理解Java类加载器与类加载机制
java·jvm·mysql
椰萝Yerosius2 小时前
Ubuntu Wayland启动腾讯会议并实现原生屏幕共享
linux·ubuntu·腾讯会议
快来卷java3 小时前
MySQL篇(六)MySQL 分库分表:应对数据增长挑战的有效策略
数据库·mysql·oracle
爪娃侠3 小时前
LeetCode热题100记录-【二叉树】
linux·算法·leetcode
rufeike5 小时前
Rclone同步Linux数据到google云盘
linux·运维·服务器
csdn_aspnet5 小时前
如何在 Linux 上安装 Python
linux·运维·python
良许Linux5 小时前
怎么自学嵌入式?
linux
良许Linux5 小时前
你见过的最差的程序员是怎样的?
linux
良许Linux6 小时前
想从事嵌入式软件,有推荐的吗?
linux
信徒_6 小时前
Mysql 中的 binlog、redolog、undolog
数据库·mysql