mysql連接flush-hosts問題處理
上網查到解決方案
【錯誤】
Host is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’;
【原因】
同一個ip在短時間內產生太多(超過mysql數據庫max_connection_errors的最大值)中斷的數據庫連接而導致的阻塞;
【解決方法】
-
1.首先使用 root 登錄
mysql -u root -p
-
2.提高允許的max_connection_errors數量(治標不治本):
-
① 進入Mysql數據庫查看max_connection_errors:
show variables like "max_connection_errors";
-
② 修改max_connection_errors的數量爲1000:
set global max_connect_errors = 1000;
-
③ 修改 max_connections 的數量爲1000 :
set global max_connections = 1000;
-
-
3.使用
mysql> flush-hosts;
命令清理一下hosts文件;- ① 最簡單的方法是root登錄後,直接使用
mysql> flush hosts;
命令;
- ① 最簡單的方法是root登錄後,直接使用
備註:其中端口號,用戶名,密碼都可以根據需要來添加和修改。
不過這些方法都是治標不治本的,本質原因是由於程序中創建了過多的mysql連接,通常情況下,程序開始的運行的時候建立與數據庫的連接,運行期間進行數據庫的一些增刪改查操作,程序關閉的時候,斷開與數據庫的連接。