在Centos系统中卸载Mysql时,如果仅使用简单的卸载命令,很容易留下配置文件、数据目录、相关用户等残留内容,导致后续重新安装时出现冲突。下面介绍完整的彻底删除Mysql的操作流程。

第一步:停止Mysql服务
在卸载Mysql之前,首先需要确保Mysql服务已经停止运行,避免卸载过程中出现文件占用问题。根据Centos版本不同,服务管理命令略有差异:
- Centos7及以上版本使用systemctl命令管理service
- Centos6及以下版本使用service命令管理service
执行以下命令停止Mysql服务:
# Centos7及以上版本 systemctl stop mysqld # 确认服务已经停止 systemctl status mysqld # Centos6及以下版本 service mysqld stop # 确认服务已经停止 service mysqld status
第二步:卸载所有Mysql相关安装包
Centos系统下Mysql通常通过rpm包安装,需要先查询所有已安装的Mysql相关包,再逐一卸载。首先执行查询命令:
rpm -qa | grep mysql
该命令会列出所有包含mysql关键词的已安装rpm包,例如可能输出如下内容:
mysql-community-common-5.7.36-1.el7.x86_64 mysql-community-libs-5.7.36-1.el7.x86_64 mysql-community-client-5.7.36-1.el7.x86_64 mysql-community-server-5.7.36-1.el7.x86_64
然后使用rpm -e --nodeps命令卸载所有查询到的包,--nodeps参数用于忽略依赖关系强制卸载:
# 替换为实际查询到的包名,逐个执行卸载 rpm -e --nodeps mysql-community-common-5.7.36-1.el7.x86_64 rpm -e --nodeps mysql-community-libs-5.7.36-1.el7.x86_64 rpm -e --nodeps mysql-community-client-5.7.36-1.el7.x86_64 rpm -e --nodeps mysql-community-server-5.7.36-1.el7.x86_64
卸载完成后再次执行查询命令,确认没有Mysql相关包残留:
rpm -qa | grep mysql
第三步:清理Mysql配置文件和数据目录
卸载安装包后,还需要手动删除Mysql的配置文件、数据目录、日志文件等残留内容。常见的Mysql相关目录和文件如下:
| 路径类型 | 常见路径 | 说明 |
|---|---|---|
| 配置文件 | /etc/my.cnf | Mysql主配置文件 |
| 数据目录 | /var/lib/mysql | Mysql默认数据存储目录 |
| 日志目录 | /var/log/mysqld.log | Mysql错误日志文件 |
| 运行目录 | /var/run/mysqld | Mysql运行时pid文件目录 |
执行以下命令删除这些目录和文件:
# 删除配置文件 rm -rf /etc/my.cnf # 删除数据目录 rm -rf /var/lib/mysql # 删除日志文件 rm -rf /var/log/mysqld.log # 删除运行目录 rm -rf /var/run/mysqld
如果之前自定义过Mysql的数据目录或配置文件路径,也需要找到对应路径一并删除。
第四步:删除Mysql相关用户和组
Mysql安装时会自动创建mysql用户和用户组,彻底删除时也需要清理这些内容。首先查询系统中是否存在mysql用户和组:
# 查询mysql用户 id mysql # 查询mysql用户组 getent group mysql
如果存在,执行以下命令删除:
# 删除mysql用户 userdel -r mysql # 删除mysql用户组 groupdel mysql
注意userdel命令的-r参数会同时删除mysql用户的家目录,避免残留。
第五步:验证删除结果
完成以上所有步骤后,可以通过以下方式验证Mysql是否已经被彻底删除:
- 执行
mysql -V命令,提示命令不存在说明客户端已经卸载 - 执行
systemctl list-unit-files | grep mysql,没有输出说明服务配置已经清理 - 检查之前删除的目录和文件,确认已经不存在
如果所有验证都通过,说明Mysql已经在Centos系统下被彻底删除,后续可以正常进行新版本Mysql的安装操作。