接到客戶的電話,說我做的一個軟件(從公網主機MySQL數據庫下載數據)提示“無法連接網絡數據庫”,但是從單位將軟件拷貝回家用卻正常。這種情況以前也遇到過,主要問題很可能是:用戶IP被屏蔽了。
從網絡上找到的資料如下:
======================================================================
host ''hostname'' is blocked because of many connection errors.
這意味着,mysqld已經得到了大量(max_connect_errors)的主機''hostname''的在中途被中斷了的連接請求。在max_connect_errors次失敗請求後,mysqld認定出錯了(認爲這是來自一個黑客的攻擊),於是阻止該站點進一步的連接,直到執行命令mysqladmin flush-hosts。
缺省地,mysqld在10個連接錯誤後阻塞一臺主機。可以通過下面的代碼調整它:
shell> safe_mysqld -o max_connect_errors=10000
======================================================================
呵呵我的處理更簡單,直接重啓MySQL!