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

Ubuntu 系統 MySQL 完整卸載與重裝指南:apt-get 徹底清理殘留配置

     編輯:MySQL 綜合教學

Ubuntu 系統 MySQL 完整卸載與重裝指南:apt-get 徹底清理殘留配置

在 Ubuntu/Debian 系統上,MySQL 套件拆分極細 (server、client、common、lib 等),單純 apt-get remove 會遺留配置檔、資料目錄、日誌,導致重裝異常。本文提供徹底清理與標準重裝流程。

一、徹底卸載 MySQL (含配置、資料、日誌)

# 1. 停止服務
sudo systemctl stop mysql
# 或舊版
sudo service mysql stop

# 2. 徹底移除所有 mysql 相關套件 (關鍵:--purge 刪除配置檔)
sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*

# 3. 自動移除不再需要的依賴套件
sudo apt-get autoremove --purge

# 4. 清理 apt 快取
sudo apt-get autoclean

# 5. 手動刪除殘留目錄 (關鍵步驟!)
sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql

# 6. 清理 dpkg 殘留標記為 rc (remove+candid) 的套件
dpkg -l | grep ^rc | awk '{print $2}' | sudo xargs dpkg --purge

關鍵差異:

  • remove:僅刪除程式檔案,**保留配置檔** (/etc/mysql/*)。
  • purge:刪除程式檔案 **+ 配置檔**。
  • autoremove --purge:清理無用依賴及其配置。

二、驗證清理乾淨

# 檢查是否還有 mysql 進程
ps aux | grep mysql

# 檢查殘留檔案
ls -ld /etc/mysql /var/lib/mysql /var/log/mysql 2>/dev/null || echo "目錄已清理"

# 檢查 dpkg 狀態
dpkg -l | grep mysql

應無任何 mysql 相關套件顯示 ii (installed) 或 rc (remove+candid)。

三、標準安裝 MySQL (最新 LTS 版本)

# 1. 更新套件索引
sudo apt-get update

# 2. 安裝伺服器端 (會自動拉取 client、common、lib 依賴)
sudo apt-get install mysql-server

# 3. 安裝客戶端工具 (通常 server 依賴已含,顯式安裝無害)
sudo apt-get install mysql-client

# 4. (PHP 環境) 安裝 PHP MySQL 擴展
sudo apt-get install php-mysql
# 或指定版本 php7.4-mysql, php8.1-mysql

# 5. 安裝過程會提示設定 root 密碼 (新版 Ubuntu 20.04+ MySQL 8.0 預設 auth_socket,可能不提示)
# 若未提示,安裝完成後執行安全初始化:
sudo mysql_secure_installation

四、安裝後驗證與服務管理

# 1. 檢查服務狀態
sudo systemctl status mysql
# 應顯示 active (running)

# 2. 檢查端口監聽
sudo netstat -tap | grep mysql
# 或 ss -tap | grep mysql
# 輸出應含: LISTEN  0  70  127.0.0.1:mysql  0.0.0.0:*

# 3. 服務管理命令
sudo systemctl start|stop|restart|enable|disable mysql

# 4. 連線測試
sudo mysql -u root -p
# 或 (若預設 auth_socket)
sudo mysql

五、root 密碼設定與認證插件調整 (MySQL 8.0+ 關鍵)

Ubuntu 20.04+ 預設 MySQL 8.0 root 使用 auth_socket 插件 (僅允許系統 root 用戶通過 Socket 免密登入)。應用程式連線需密碼認證,須調整:

sudo mysql -u root
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'StrongPass123!';
mysql> FLUSH PRIVILEGES;
# 或使用 mysql_secure_installation 互動式設定

六、常見問題排查

現象可能原因解決
安裝卡住/報錯 dpkg lock前次 apt 未完成/鎖定sudo rm /var/lib/dpkg/lock-frontend /var/lib/dpkg/lock 後重試
service mysql start 失敗配置錯誤、端口佔用、資料目錄權限查看 journalctl -u mysql 或 /var/log/mysql/error.log
無法遠程連線bind-address=127.0.0.1、防火牆、用戶 Host 非 %修改 /etc/mysql/mysql.conf.d/mysqld.cnf bind-address=0.0.0.0,重啟;開放 3306;建用戶 user@%
中文亂碼字元集不一致[mysqld] character-set-server=utf8mb4 寫入配置,重啟

七、總結

Ubuntu MySQL 徹底卸載核心在於 apt-get purge + autoremove --purge + **手動刪除 /etc/mysql /var/lib/mysql /var/log/mysql** + dpkg -l | grep ^rc | xargs dpkg --purge。安裝後務必執行 mysql_secure_installation 或手動調整 root 認證插件,確保應用程式可密碼連線。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved