• ベストアンサー

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

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

  • nikuq
  • お礼率75% (477/631)
  • MySQL
  • 回答数3
  • ありがとう数2

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

  • ベストアンサー
回答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

  • 助けてください( ; ゜Д゜)

    いつも開いているネットショップさんのHPがいきなり見れなくなって困ってます・・・いつもはたくさんのバナーが出ているのに、先ほど開いたらバナーの全てが(Warning: mysql_connect(): Host 'ichioku.net' is blocked because of many connection errors. Unblock with 'mysqladmin flush-hosts' in /home/httpd/vhosts/ichioku.net/httpdocs/common/inc_dbaccess.php on line 69 )←こんな風になってたのですが、どうすれば直るのでしょうか??技術者の皆様お助け願います。

  • サーバが攻撃されている様です。どうすればいいのでしょう??

    いつもお世話になっております。 先日、MySQLサーバが特定のサーバからアクセス不可となってしまいました。 エラーコードを見ると、 Host 'hostname' is blocked because of many connection errors. Unblock with 'mysqladmin flush-hosts' というエラーが現れております。この内容で調べて見たところ、'hostname'から大量の接続エラーが発生した場合に現れるエラーという事がわかりました。復旧の仕方もOK Waveの皆様のおかげでわかりました。 昨日はこれで復旧できたのですが、今日また同じ現象でMySQLが接続不可になっておりました。 この事から、どうも攻撃されている様なのですが、どういった攻撃をされているのか、調べ方がわかりません。こういった場合の調べ方と対策方法を教えて頂けませんでしょうか。こんな事初めてなので、戸惑っております。 何卒、ご教授の程、宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • サイトに接続するとエラー表示こんなのが出てきます

    すみませんが みなさん教えてください インフォカートに接続するとこういう表示が出てきます ここから↓ Warning: mysql_connect(): Host '192.168.0.116' は many connection error のため、拒否されました. 'mysqladmin flush-hosts' で解除してください in /home/private/class/DBconnection.php on line 31 Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/private/class/DBconnection.php on line 32 Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/private/functions/model/object/Item.php on line 8 ここまで↑ これなのですがどうして解除すればいいのか解りません 'mysqladmin flush-hosts' で解除してください を検索し サイトに飛んでいったのですが書いてある意味が解らないのです すみませんがどなたかお分かりになる方はいらっしゃいませんか? よろしくお願いいたします

  • MYSQL再起動後に接続できなくなってしまいました

    CENTOS5.6でMYSQL5.5.22を入れて使用しています。 テスト用プログラムを作っていて、MSYQLへのデータ挿入が止まらなかったためMSYQLをリスタートしました。 すると、起動後おそらく接続できないとのメッセージが出ています。 postfixをMysqlで使用して使っているため、メールができなくて困っています。 下記エラーメッセージがmysqlのログにありました。 120626 14:15:57 [Warning] Unknown character set: 'utf8a' 120626 14:15:57 [Warning] Aborted connection 131 to db: 'postfix用のDB名' user: 'postfix用のユーザー名' host: 'localhost' (init_connect command failed) 120626 14:15:57 [Warning] Unknown character set: 'utf8a' 120626 14:15:57 [Warning] Aborted connection 132 to db:'postfix用のDB名' user: 'postfix用のユーザー名' host: 'localhost' (init_connect command failed) 120626 14:15:57 [Warning] Unknown character set: 'utf8a' 120626 14:16:58 [Warning] Aborted connection 133 to db: 'postfix用のDB名' user: 'postfix用のユーザー名' host: 'localhost' (init_connect command failed) 120626 14:16:58 [Warning] Unknown character set: 'utf8a' 120626 14:16:58 [Warning] Aborted connection 134 to db: 'postfix用のDB名' user: 'postfix用のユーザー名' host: 'localhost' (init_connect command failed) 120626 14:16:58 [Warning] Unknown character set: 'utf8a' 120626 14:16:58 [Warning] Aborted connection 135 to db: 'postfix用のDB名' user: 'postfix用のユーザー名' host: 'localhost' (init_connect command failed) 120626 14:16:58 [Warning] Unknown character set: 'utf8a' Aborted connection の部分を色々調べたのですが、情報が少なく解決策がわかりませんでした。 Mysqlの再起動やサーバー自体の再起動を行ったのですが解決できませんでした。 何かヒントになるような事がありましたら、教えていただけないでしょうか? 宜しくお願いします。

    • ベストアンサー
    • MySQL
  • Warning....?

     昨日まで閲覧できていたサイトが下記の文章が出て閲覧できなくなりました。どうすればよいのでしょう、どなたか教えていただけないでしょうか? Warning: Host '192.168.1.7' は many connection error のため、拒否されました. 'mysqladmin flush-hosts' で解除してください in /home/smart/html/index.php on line 62

  • MySQLが起動できない(?)

    最近phpを学び始めたのですが、その過程でMySQLにも挑戦しようと思いました。XAMPPというものがあるということでそれをインストールしました。その後MySQLを起動したあとにコマンドプロンプトで mysqladmin ping のようにすると起動確認ができると入門HPで読んだのですが下記のようなエラーが出てしまいます。 mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'ODBC'@'localhost' (using password: NO)' これはどういう意味なのでしょうか?このときに本体からピッっという音がするのも気になるのですが……。初歩的な質問ですいません。わかるかたよろしくお願いします。

  • MySQLの接続について教えてください。

    こんにちわ。初心者です。MySQL5 の接続を php5、Apache2、windowsXP を使用して接続したいのですが、 できず困っております。Apacheとphpの相互の設定はできています。セキュリティソフトは念のため止めました。 phpとMySQLの設定がどこかが違うのではないかと思うのですが、 良くわからないのでどなたかアドバイスを宜しくお願いします。 <?php $host=\"aaa\";$name=\"ccc\";$pass=\"ddd\"; $con = mysql_connect($host,$name,$pass); if($con !== false){echo\"ok\";}else{echo\"falsess\";}?> という文をアパッチで表示させると、 Warning: mysql_connect() [function.mysql-connect]: Access denied for user \'ccc\'@\'localhost\' (using password: YES) in C:\\Program Files\\Apache Group\\Apache2\\htdocs\\php\\lesson.php on line 2 falsess

    • 締切済み
    • PHP
  • Access2000からMySQLへエクスポートでエラー

    Access2000からテーブルをエクスポートしようとしたら、「ODBC--呼び出しが失敗しました。[TCX][MyODBC]Host '192.168.2.2' is not allowed to connect to this MySQL server (#1130)」のエラーが表示されました。何が原因でしょうか? 現在、PostgreSQLから移行を考えていますが、4.0.20ではトランザクションはOKでしょうか?機能的に欠陥があるとすれば、何があるのでしょうか?

    • ベストアンサー
    • MySQL
  • MySQL, PHP をインストール後、データベースにアクセスできません。

    自宅で使っている Windows Vista に ・Apache 2.2.8 ・PHP 5.2.6 ・MySQL 5.0.45 ・PHPMyAdmin 2.11.4 をインストールしました。 それぞれがインストールされたことは確認でき、 PHPMyAdmin でテーブルを作成、インポートなども出来たのですが、 PHP からデータベースにアクセスできずに困っています。 phpinfo(); などは表示されるのですが、 いざデータベースにアクセスしようとすると出来ず、PHPのエラーも表示されません。 $host = 'localhost'; $db_name = 'hoge'; $user = 'root'; $pass = '***'; $con = mysql_connect($host, $user, $pass) or die ("cannot connect DB"); mysql_select_db($db_name,$con) or die ("cannot select DB"); という記述以降に書かれた部分は実行されず、それ以前の部分のみ表示されます。 error_reporting(E_ALL); を記述していても何も表示されないため、原因すら分かりません。 何か心当たりはありますでしょうか?

    • ベストアンサー
    • PHP
  • 【至急】MySQLのエラーを解消したいのですが?

    データを間違って消してしまい、サーバーにデータを バックアップ復活したのですが、以下の様なエラーが生じており、 困っております。 MySQLのエラーを解消したいのですが?、知識がなく、どうすればいいのでしょうか? ・1)Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL Server Host '0net' (1) in /ファイルパス/ファイル.php on line 7 ・2)Warning: mysql_select_db() [function.mysql-select-db]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /ファイルパス/ファイル.php on line 8 ・3)Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /ファイルパス/ファイル.php on line 8 ・4)Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /ファイルパス/index.php on line 5 ・5) Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /ファイルパス/index.php on line 5 ・6) Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /アフィルパス/index.php on line 6 ・7) Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /ファイルパス/index.php on line 6