• ベストアンサー

突然MySQLへアクセス出来なくなりました

いつもお世話になっております。 昨日の夜までアクセスできていたMySQLサーバに、本日の朝からアクセスできなくなっております。 PHPのエラー文は下記の様になっております。 『Warning: mysql_connect(): Host '***.***.***.**' is blocked because of many connection errors. Unblock with 'mysqladmin flush-hosts'』 これを翻訳ソフトで直訳すると、 『多くの接続エラーのため、ブロックされる。『mysqladmin紅潮-ホスト』で点数の多い札を出しなさい』 という意味のわからない内容になってしまい、原因がさっぱりわかりません。このエラーの意味をどなたか教えてください!お願いします!!

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

説明不足でした。 Linux(OS)のユーザ、MySQL(アプリケーション)のユーザがそれぞれあり、phpMyAdminで特権表示されているのは、MySQLのユーザの権限です。 しかるべきLinuxのユーザでログインし(・・・にスイッチし)、 しかるべきMySQLのユーザで、MySQLにコマンドを実行する必要 があります。具体的には、 Linuxのユーザ=mysql MySQLのRELOAD権限を持つユーザ=root とすれば、 # su - mysql $ mysqladmin -u root -p flush-hosts <ここでrootのパスワードが求められるので入力すると実行される> というようになります。

nikuq
質問者

お礼

ありがとうございます!!できました!!! OSのユーザとMySQLのユーザ、この2点が存在し、コマンドラインから実行するには、両方のアカウント情報が必要なんですね。 いままでphpMyAdminしか使った事が無かった為、コマンドラインでのMySQLの取り扱い方がまるで分りませんでした。 本当に助かりました!これで、これから同じ現象が発生してもすぐ対応できます! 本当にありがとうございます!!

その他の回答 (2)

回答No.2

MySQL5だと参考URLに情報がありました。 デフォルトで、同じホストから10回アクセスに失敗するとブロックされる?ようです。 mysqladmin flush-hosts は、おそらくrootでは実行できないのでは。mysqldを実行しているユーザにスイッチして、コマンドを実行できませんでしょうか。 # ps -aux | grep mysqld とかで、mysqldを起動しているユーザをしらべて、たとえばmysqlユーザで起動していれば、 # su - mysql $ mysqladmin flush-hosts とトライしてみては? ただ、アクセスした覚えがなければ、総当りアタックを仕掛けられた可能性もありますので、あとで調査が必要です。

参考URL:
http://dev.mysql.com/doc/refman/5.0/en/blocked-host.html
nikuq
質問者

補足

ありがとうございます。 早速mysqlユーザに切替えて実行してみました。 しかし、別のエラーで実行されませんでした。 エラーコードは 『Access denied. You need the RELOAD privilege for this operation』 という内容で、このアカウントにはリロード特権がないというようなメッセージでした。 しかし、phpMyAdminで特権をチェックすると、このアカウントにはreload特権が含まれております。 なんで出来ないのでしょうか?これはサーバの設定の問題なのでしょうか?? 取り急ぎ、サーバの再起動をする事でアクセスできない問題は解消しました。しかし、今後も同じ事が起こりうるので、できれば、この問題も解消したいです。

回答No.1

このエラーは環境・状況に左右されるものです。 ファイアウォール関連とか、 ブラウザをインストールしたとか、 ウィルスとか、 サーバ攻撃など。 #1の答えも読解力が足りない気がします。 英訳せよ、という問いだと思いましたか?

nikuq
質問者

補足

恐らくサーバの攻撃が関係しているようです。 ネットで調べてみたところ、コマンドラインから mysqladmin flush-hosts を実行する必要があるようです。そこまでは突き止めたのですが、SSHでroot権限にてサーバにアクセスしてもmysqladminが実行できません。 私もサーバ会社の人間ではなく、専有サーバの利用者なので、私のアカウントも完全なるroot権限ではないようなのです。 本当に困った【><。】

関連するQ&A