首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 服務器停止操作與故障排除指南(下)

     編輯:MySQL 資料庫相關知識

三、停止 MySQL 服務器

手動停止服務器可使用 mysqladmin 工具:

% mysqladmin shutdown

自動停止方面,BSD 系統通常發送 TERM 信號給進程,mysqld 收到後會正常終止。對於使用 mysql.server 啟動的 System V 風格系統,停止腳本會以 stop 參數調用,前提是已安裝 mysql.server。

四、無法連接服務器時如何重獲控制權

若因無法連接而需手動重啟,常見原因有二:

1. Root 密碼未知或遺忘

可能在修改密碼時誤輸入不可見控制字符,或單純忘記密碼。

2. Unix 域套接字文件丟失

本地連接通常通過 /tmp/mysql.sock,若被 cron 任務清理臨時文件刪除,本地客端將無法連接。

解決套接字丟失問題

重啟服務器即可自動重建套接字。但此時無法用套接字連接,必須改用 TCP/IP:

% mysqladmin -p -u root -h pit.snake.net shutdown

若 cron 會重複刪除,需修改任務或遷移套接字位置。在 /etc/my.cnf 中同時為服務端和客戶端指定新路徑:

[mysqld]
socket=/usr/local/var/mysql.sock

[client]
socket=/usr/local/var/mysql.sock

修改後重啟服務器生效。

解決 Root 密碼問題

  1. 中斷服務器:以 root 登錄主機,用 kill 終止進程(優先嘗試正常 kill 發送 TERM 信號,若無響應再用 kill -9 強制終止,但後者可能導致表損壞,需事後用 myisamchk/isamchk 檢查)。
  2. 跳過權限表啟動:加 --skip-grant-tables 選項啟動,此時可無密碼以 root 連接並修改密碼。
  3. 重新載入權限:執行 mysqladmin flush-privileges(或 reload)使新密碼生效。

五、在單機運行多個 MySQL 服務器

適用場景:測試新版本、突破單進程文件句柄限制、ISP 為客戶提供獨立實例。

運行多實例需確保各實例參數唯一:安裝路徑、數據目錄、TCP/IP 端口、Unix 域套接字、運行用戶賬號。配置時務必仔細核對,避免衝突。

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