mysql使用者不能通過其他主機遠端連線問題
阿新 • • 發佈:2021-10-28
mysql連線flush-hosts問題處理
【錯誤】1
mysql主從報錯:
error connecting to master 'slave@ip:3306' - retry-time: 6
或者
【錯誤】2
其他主機連線報錯:
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;
- ① 進入Mysql資料庫檢視max_connection_errors:
- 3.使用
mysql> flush hosts;
命令清理一下hosts檔案;- ① 最簡單的方法是root登入後,直接使用
mysql> flush hosts;
- ① 最簡單的方法是root登入後,直接使用
不過這些方法都是治標不治本的,本質原因是由於程式中建立了過多的mysql連線,通常情況下,程式開始的執行的時候建立與資料庫的連線,執行期間進行資料庫的一些增刪改查操作,程式關閉的時候,斷開與資料庫的連線。
是故無冥冥之志者,無昭昭之明;無惛惛之事者,無赫赫之功。
本文來自部落格園,作者:wuguofeng,轉載請註明原文連結:https://www.cnblogs.com/wuguofeng/p/15474902.html