本篇文章為大家展示了MySQL中host is blocked, flush hosts的示例分析,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

背景:
MySQL-5.5.41, 開發(fā)用的環(huán)境連接MySQL客戶端時報錯;
場景:
業(yè)務(wù)方反饋在連接MySQL的時候報錯了, 且應(yīng)用也在輸出了一樣的錯誤信息:
點擊(此處)折疊或打開
ERROR 1129 (HY000): Host 'x.x.x.x' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
且開發(fā)的同事嘗試修改了max_connect_errors的參數(shù);
調(diào)整到1000以后, 再進(jìn)行flush hosts, 雖然能夠解決問題, 但是一分鐘之后還是會報同樣的錯誤;
分析:
引起這個問題的原因很直白, 在報錯信息里面都寫明了, "because of many connection errors";
然后看了一下aborted connections, 確實如描述一般, too many......
中間還查看了一次host的參數(shù), 因為在5.7里面, 設(shè)置host_cache_size為0就可以避免這個問題了,
然而5.5壓根就沒有這個參數(shù)......_(:з」∠)_
考慮一下發(fā)生這個問題的根本原因:
host_cache中, 記錄了的blocked錯誤, 如果這種錯誤的數(shù)量太多, 且在上一次成功連接之后, 這種錯誤的數(shù)量超過了max_connect_errors的值,
那么MySQL就會拋出這個錯誤, 并提示需要flush hosts;
5.7中設(shè)置size為0(動態(tài)參數(shù)), 變相的使得mysql認(rèn)為blocked的數(shù)量一直是0, 所以就不會再報這種錯了,
從根本原因來看, 關(guān)掉host cache也是一個解決的辦法;
那么如何關(guān)掉host cache?
MySQL5.5和5.7在show variables中都沒有一個明確的參數(shù)能關(guān)閉host cache,
翻了一下文檔, 發(fā)現(xiàn)只能在啟動的時候加上skip-host-cache才能關(guān)閉;
處理方式:
最終是協(xié)商了重啟的時間, 在開發(fā)機的MySQL配置文件加上了skip-host-cache來徹底關(guān)閉這個cache, 然后隨開發(fā)們亂搞去吧......╮(╯_╰)╭
上述內(nèi)容就是MySQL中host is blocked, flush hosts的示例分析,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。
文章名稱:MySQL中hostisblocked,flushhosts的示例分析-創(chuàng)新互聯(lián)
地址分享:http://www.chinadenli.net/article32/jiesc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、域名注冊、網(wǎng)站策劃、全網(wǎng)營銷推廣、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容