溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

【MySQL】Host is blocked because of many connection errors

發(fā)布時(shí)間:2020-08-10 20:39:43 來(lái)源:ITPUB博客 閱讀:195 作者:神諭丶 欄目:MySQL數(shù)據(jù)庫(kù)
【問(wèn)題描述】:
應(yīng)用服務(wù)器那邊發(fā)現(xiàn)連不到數(shù)據(jù)庫(kù),查看日志發(fā)現(xiàn)報(bào)錯(cuò):

  1. selectSQL get mysql connection failed, err:Error: ER_HOST_IS_BLOCKED Host 'xx.xx.xx.xx' is blocked because of many connection errors ……

【解決方案】:
讀了日志發(fā)現(xiàn)該錯(cuò)誤與connection errors有關(guān),查了一下max_connect_errors參數(shù):
  1. SELECT @@global.max_connect_errors;
  2. +-----------------------------+
  3. | @@global.max_connect_errors |
  4. +-----------------------------+
  5. | 10                          |
  6. +-----------------------------+
  7. 1 row in set (0.00 sec)
原來(lái)是10,果然太小了。
查了一下5.5文檔,官方給出了解決方案:

However, once a host is blocked, flushing the host cache is the only way to unblock it.


在mysql中執(zhí)行:
  1. mysql> FLUSH HOSTS;
執(zhí)行指令
  1. mysqladmin flush-hosts
即可通過(guò)【flushing the host cache】來(lái)解鎖這個(gè)“host


然后調(diào)大連接錯(cuò)誤數(shù),避免再次發(fā)生此類問(wèn)題:(為Dynamic Variable)
  1. mysql> SET @@global.max_connect_errors=100000;

最后添加/修改my.cnf,增加:

  1. max_connect_errors = 100000

后來(lái)繼續(xù)查了一下5.5的文檔發(fā)現(xiàn),其默認(rèn)值就為10,而5.6.6以后的版本中,該默認(rèn)值已經(jīng)調(diào)到了100。

參考文檔:
MySQL 5.5 Reference Manual / Chapter 5 MySQL Server Administration / 5.1.1 Server Option and Variable Reference


作者微信公眾號(hào)(持續(xù)更新)
【MySQL】Host is blocked because of many connection errors
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI