1. 检查已安装的 MySQL/MariaDB

 

# 查看已安装的MySQL相关包(RPM系系统)

rpm -qa | grep -i mysql

 

查看MariaDB(CentOS 7+默认)

rpm -qa | grep -i mariadb

 

Debian/Ubuntu系统使用

dpkg -l | grep -i mysql

dpkg -l | grep -i mariadb

 

 

2. 停止MySQL/MariaDB服务

 

停止服务(SysVinit系统)

sudo service mysql stop       MySQL

sudo service mysqld stop     旧版MySQL

sudo service mariadb stop    MariaDB

 

Systemd系统(CentOS 7+/Ubuntu 16.04+)

sudo systemctl stop mysqld    MySQL

sudo systemctl stop mariadb   MariaDB

 

 

3. 卸载MySQL/MariaDB软件包

RPM系(CentOS/RHEL/Fedora)

 

强制卸载MySQL及其依赖

sudo rpm -e --nodeps mysql-server mysql-common mysql-libs

 

卸载MariaDB

sudo rpm -e --nodeps mariadb-server mariadb-client mariadb-libs

 

如果报错,尝试忽略依赖和脚本

sudo rpm -ev --noscripts mysql-libs-5.1.71-1.el6.x86_64

 

 

DEB系(Ubuntu/Debian)

 

卸载MySQL

sudo apt purge mysql-server mysql-client mysql-common

 

卸载MariaDB

sudo apt purge mariadb-server mariadb-client

 

清理残留配置

sudo apt autoremove

sudo apt autoclean

 

 

4. 删除残留文件和目录

 

查找所有MySQL相关文件

sudo find / -name mysql

 

删除常见残留目录

sudo rm -rf /var/lib/mysql     数据库文件

sudo rm -rf /etc/mysql         配置文件

sudo rm -rf /usr/lib64/mysql   库文件(64位系统)

sudo rm -rf /usr/share/mysql   共享文件

 

删除MariaDB残留

sudo rm -rf /var/lib/mariadb

sudo rm -rf /etc/my.cnf.d/

 

5. 验证卸载是否彻底

 

检查软件包

rpm -qa | grep -i mysql     RPM

dpkg -l | grep -i mysql     DEB

 

检查服务状态

systemctl list-unit-files | grep -i mysql

 

尝试启动服务(应报错)

sudo systemctl start mysqld

 

6. 关键注意事项

1. CentOS 7+系统 

   默认预装MariaDB(MySQL分支),必须卸载: 

    

     sudo rpm -e --nodeps mariadb-libs

 

2. 依赖冲突处理 

   若报错`... is needed by ...`,添加`--nodeps`强制卸载: 

     sudo rpm -e --nodeps mysql-libs

    

 

3. 配置文件备份 

   如需保留配置,先备份`/etc/my.cnf`或`/etc/mysql/`目录。

 

7. 常见问题解决

错误:`mysql-libs is needed by postfix` 

  临时卸载postfix后再安装MySQL: 

  sudo rpm -e postfix --nodeps

 

 

错误:`/var/lib/mysql 非空`

  确保数据已备份后强制删除: 

  sudo rm -rf /var/lib/mysql/*

 

 

完成上述步骤后,系统即清理干净,可安全安装新版MySQL。建议重启系统后再安装新版本以避免冲突。

点赞(1)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)