MySQL總是崩潰
首先你應該試著找出問題MySQLd守護進程是否死掉或你的問題是否與你的客戶有關。你可以用MySQLadmin version檢查你的MySQLd服務器正常執行了多長時間,如果MySQLd死了,你可以在文件“MySQL-data-directory/'hostname'.err”中找到其原因。
使用MySQL時的一些常見錯誤
MySQL server has gone away 常見的原因是服務器超時了並且關閉了連接。缺省地,如果沒有事情發生,服務器在 8個小時後關閉連接。你可在啟動MySQLd時通過設置wait_timeout變量改變時間限制。
如果MySQLd得到一個太大或不正常的包,它認為客戶出錯了並關閉連接。
Can't connect to [local] MySQL server
通常意味著沒有一個MySQL服務器運行在系統上或當試圖連接MySQLd服務器時,你正在使用一個錯誤的套接字文件或TCP/IP端口。
檢查(使用ps)服務器上是否有一個名為MySQL數據庫d的進程啟動
如果一個MySQLd進程正在運行,可以通過嘗試這些不同的連接來檢查服務器
shell> MySQLadmin version shell> MySQLadmin variables shell> MySQLadmin -h `hostname` version variables shell> MySQLadmin -h `hostname` --port=3306 version shell> MySQLadmin -h 'ip for your host' version shell> MySQLadmin --socket=/tmp/MySQL.sock version 注意hostname命令使用反引號“`”而非正引號“'”;這些導致hostname輸出(即,當前主機名)被代替進MySQLadmin命令中。
Host '...' is blocked錯誤
Host 'hostname' is blocked because of many connection errors. Unblock with 'MySQLadmin flush-hosts' 這意味著,MySQLd已經得到了大量(max_connect_errors)的主機'hostname'的在中途被中斷了的連接請求。在max_connect_errors次失敗請求後,MySQLd認定出錯了(象來字一個黑客的攻擊),並且阻止該站點進一步的連接,直到某人執行命令MySQLadmin flush-hosts。
缺省地,MySQLd在10個連接錯誤後阻塞一台主機。你可以通過象這樣啟動服務器很容易地調