首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Linux 卸載 MySQL 完整指南:RPM/二進制/源碼安裝三種方式對應清理

     編輯:MySQL 綜合教學

Linux 卸載 MySQL 完整指南:三種安裝方式對應清理

方式一:RPM 包安裝(最常見)

1. 查詢已安裝包
rpm -qa | grep -i mysql
# 輸出示例:
# MySQL-server-5.6.23-1.linux_glibc2.5
# MySQL-client-5.6.23-1.linux_glibc2.5
# MySQL-devel-5.6.23-1.linux_glibc2.5
2. 停止服務
service mysql stop
# 或
/etc/init.d/mysql stop
3. 移除自啟動
chkconfig --list | grep mysql
chkconfig mysql off
4. 卸載 RPM 包
rpm -ev MySQL-devel-5.6.23-1.linux_glibc2.5
rpm -ev MySQL-server-5.6.23-1.linux_glibc2.5
rpm -ev MySQL-client-5.6.23-1.linux_glibc2.5
5. 清理殘留文件
# 查找殘留
whereis mysql
find / -name mysql

# 刪除數據目錄、配置、日誌、Socket、PID
rm -rf /var/lib/mysql
rm -rf /var/log/mysqld.log
rm -rf /etc/my.cnf
rm -rf /etc/init.d/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/include/mysql
rm -rf /usr/share/mysql
6. 刪除用戶組
id mysql
userdel mysql
groupdel mysql
7. 驗證卸載
rpm -qa | grep -i mysql
# 無輸出即乾淨

方式二:二進制包/源碼編譯安裝

特徵:rpm -qa | grep mysql 無輸出,但 ps -ef | grep mysqld 有進程

1. 停止服務
# 找到啟動腳本
/etc/init.d/mysql.server stop
# 或
/usr/local/mysql/bin/mysqladmin -u root -p shutdown
2. 查找安裝目錄
whereis mysql
find / -name mysql
# 典型輸出:
# /usr/local/mysql
# /usr/local/mysql-5.7.5-m15-linux-glibc2.5-x86_64
3. 刪除安裝目錄與數據目錄
rm -rf /usr/local/mysql
rm -rf /usr/local/mysql-5.7.5-m15-linux-glibc2.5-x86_64
rm -rf /var/lib/mysql  # 若未自定義 datadir
rm -rf /var/spool/mail/mysql
4. 清理配置與啟動腳本
rm -rf /etc/my.cnf
rm -rf /etc/init.d/mysql.server
5. 刪除用戶組
id mysql
userdel mysql
groupdel mysql

方式三:YUM 安裝(系統倉庫)

# 查詢
yum list installed | grep mysql

# 卸載
yum remove mysql-server mysql mysql-devel mysql-libs

# 清理
rm -rf /var/lib/mysql
rm -rf /etc/my.cnf
rm -rf /var/log/mysqld.log
userdel mysql
groupdel mysql

通用驗證清單

  1. 無 mysqld 進程
  2. 3306 端口未監聽
  3. rpm -qa | grep mysql / yum list installed | grep mysql 無輸出
  4. find / -name mysql 僅剩無關文件(如文檔)
  5. 無 mysql 用戶組
  6. 啟動腳本無報錯

避坑提示

  • 數據備份優先:卸載前務必 mysqldump 或物理備份
  • 依賴檢查:其他服務是否依賴 MySQL 庫文件(如 PHP mysqlnd、Perl DBD::mysql)
  • SELinux/AppArmor:清理策略 semanage fcontext -d / apparmor_parser -R
  • 多實例:逐個實例按對應方式清理
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved