1. 程式人生 > >MySQL之常見問題總結

MySQL之常見問題總結

nec 請求 size art oca 而且 設置 正常的 黑客


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之常見問題總結