MySQL之常見問題總結
MySQL總是崩潰
首先你應該試著找出問題MySQLd守護進程是否死掉或你的問題是否與你的客戶有關。你能夠用MySQLadmin version檢查你的MySQLdserver正常運行了多長時間。假設MySQLd死了,你能夠在文件“MySQL-data-directory/‘hostname‘.err”中找到其原因。
使用MySQL時的一些常見錯誤
MySQL server has gone away 常見的原因是server超時了而且關閉了連接。缺省地,假設沒有事情發生。server在 8個小時後關閉連接。你可在啟動MySQLd時通過設置wait_timeout變量改變時間限制。
假設MySQLd得到一個太大或不正常的包,它覺得客戶出錯了並關閉連接。
Can‘t connect to [local] MySQL server
通常意味著沒有一個MySQLserver執行在系統上或當試圖連接MySQLdserver時,你正在使用一個錯誤的套接字文件或TCP/IPport。
檢查(使用ps)server上是否有一個名為MySQL數據庫d的進程啟動
假設一個MySQLd進程正在執行。能夠通過嘗試這些不同的連接來檢查server
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個連接錯誤後堵塞一臺主機。你能夠通過象這樣啟動server非常easy地調
MySQL之常見問題總結