HCRM博客

如何在CentOS系统上彻底删除MariaDB?

在Linux系统中,MariaDB作为MySQL的一个流行分支,常被用于数据库管理,但某些场景下,可能需要彻底移除它——例如系统版本升级冲突、迁移到其他数据库,或出于安全加固需求,以下操作适用于CentOS 7及更高版本,需使用root权限执行。

一、操作前的关键准备

1、备份数据

如何在CentOS系统上彻底删除MariaDB?-图1

卸载前务必导出重要数据库:

  • mysqldump -u root -p --all-databases > /path/to/backup.sql

输入密码后,检查备份文件完整性。

2、停止运行中的服务

强制终止可能导致数据损坏:

  • systemctl stop mariadb.service
  • systemctl disable mariadb.service

通过ps -ef | grep mariadb确认进程已关闭。

二、卸载MariaDB核心组件

CentOS的包管理工具会处理依赖关系,但不同安装方式需区分处理:

如何在CentOS系统上彻底删除MariaDB?-图2

场景1:通过YUM/DNF安装

  • yum remove mariadb-server mariadb-client mariadb-common

若提示No match for argument,尝试替换为:

  • dnf remove @mariadb

场景2:源码编译安装

进入当初编译的目录执行:

  • make uninstall

若未保留编译环境,需手动删除:

  • rm -rf /usr/local/mysql

三、深度清理残留文件

软件包卸载后,这些目录仍需手动清除:

如何在CentOS系统上彻底删除MariaDB?-图3
  • rm -rf /var/lib/mysql/
  • rm -rf /etc/my.cnf.d/
  • rm -f /etc/my.cnf
  • rm -rf /var/log/mariadb/

特别注意

/var/lib/mysql包含所有数据库文件,确认无可用数据后再删除

- 检查/etc/ld.so.conf是否包含mysql库路径,若有则删除并执行ldconfig

四、处理遗留依赖项

1、查询关联包

  • rpm -qa | grep -i maria

若输出类似mariadb-libs-5.5.68-1.el7.x86_64,则执行:

  • rpm -e --nodeps mariadb-libs

2、清理缓存

  • yum clean all
  • dnf clean all

五、验证卸载结果

通过三重确认保证彻底移除:

1、执行mysql -V应提示command not found

2、运行rpm -qa | grep -i mysql无结果返回

3、检查/etc/passwd删除mysql用户:

  • userdel mysql
  • rm -rf /home/mysql

六、常见问题解决方案

问题1:依赖冲突导致卸载中断

若出现Error: Package X depends on Y,添加--nodeps参数强制卸载:

  • rpm -e --nodeps 包名

问题2:系统自带旧版本残留

CentOS 7默认捆绑MariaDB,可修改repo文件屏蔽:

  • echo 'exclude=mariadb*' >> /etc/yum.conf

问题3:/var/lib/mysql目录占用异常

使用lsof | grep /var/lib/mysql查找占用进程,必要时重启系统再删除。

数据库组件的管理直接影响服务器稳定性,建议在生产环境操作前,先在测试机模拟整个流程,曾有运维团队因忽略/etc/my.cnf配置文件残留,导致新安装的MySQL读取错误参数引发故障——这种细节往往比主程序卸载更值得关注,保持系统整洁度,本质上是对数据安全的长期投资。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/33010.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~