[前][次][番号順一覧][スレッド一覧]

mysql:16063

From: "yoku ts." <"yoku ts." <yoku0825@xxxxxxxxxx>>
Date: Thu, 28 Nov 2013 10:35:58 +0900
Subject: [mysql 16063] Re: Host 'xx.xx.xx.xx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

こんにちは、yokuといいます。

表示されたエラーの内容は、
「xx.xx.xx.xxからのコネクションエラーが閾値を超えたからブロックしてるよ」
という意味です。
本来はポートスキャンやDDoSなどへの防御のための機構だったと思います。

ヘルスチェックなどよくあるのですが、TCPでMySQLのポートを叩くだけ叩いてちゃんと切断していなかったりするとコネクションエラーとしてカウントアップされたりします。
(MyODBCがそんな動作をしているかどうかはよくわかりません)

ブロックを解除するには
shell> mysqladmin -uroot -pxxxx flush-hosts
または
mysql> FLUSH HOSTS;
で出来ます。

どちらでもかまいませんが、この操作にはRELOAD権限が必要になるので、一般的にはMySQLのrootで操作する必要があります。

また、調べられた結果のmysqld_safeですが、これはmax_connect_errorsというコネクションエラー=> ブロックにいたる閾値の設定です。
頻繁にコネクションエラーが出て、かつ、それが怪しいものでないと確証が取れているのであれば、これを大きくすることでブロックされないようにします。

コイツは以下のいずれかの方法で設定できます。
99999999のところは十分大きな好きな値に変えてください。2^ 32- 1または2^ 64- 1が設定上の最大値です。
ちなみに暗黙のデフォルトは5.1, 5.5では10, 5.6では100です。

mysql> SET GLOBAL max_connect_errors= 99999999;
 => SUPER権限が必要なのでrootでやってください。ただしこちらはmysqldを再起動すると設定が消えます。

my.cnfに以下の記載をして再起動
max_connect_errors= 99999999
 => mysqld_safe --max-connect-errors=xxx & はこれと同じことです。
 => 再起動できるならこちらを。


というあたりでどうでしょうか?


/* yoku0825 */

2013年11月28日 9:11 Isamu Moriyama <moriyama@xxxxxxxxxx>:
> いつも、お世話になっております。
>
> まじっかぁ(森山 勇)と申します。
>
> myODBCでMySQLのサーバーとWindowsのアプリを接続しております。
>
> mySQLのサーバーでユーザーを作って、
> ホストの許可の設定を行って、接続テストを行った際は
> 正常に接続でき、DBの内容も参照できました。
>
> この時点ではOKだったのですが…。
>
> 数日後、同じプログラムで同じサーバーに接続したところ、
> 下記エラーが表示されました。
>
> 【表示されたエラー内容】
> Host 'xx.xx.xx.xx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
>
> ネットで調べてみたのですが、
>
> shellで
> 「mysqld_safe -O max_connect_errors=10000 &」
> を実行すればよいみたいなことが書いてあったので、
> phpMyAdminから実行してみたのですが、
> こちらのユーザー権限で実行できませんでした。
>
> 弊社はそのサーバーのMySQLの管理者ではないので、
> 設定等変更できないようです。
>
> 何か原因等わかる方がいらっしゃいましたら、
> ご教授願えませんでしょうか?
>
> よろしくお願いいたします。
>
> 補足:OSはWINXPです。アプリはDelphi7、ODBCは3.51です。
>
> --
> Isamu Moriyama<moriyama@xxxxxxxxxx>
>
>

[前][次][番号順一覧][スレッド一覧]

     16062 2013-11-28 09:11 [Isamu Moriyama <mori] Host 'xx.xx.xx.xx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
->   16063 2013-11-28 10:35 ┗["yoku ts." <yoku0825]                                       
     16064 2013-11-28 11:40  ┗[Isamu Moriyama <mori]