サポート » 使い方全般 » 急にデータベース接続確立のエラーとなっています

  • 解決済 masa888

    (@masa888)


    昨日(6月9日)まで、正常に表示、投稿できていたのですが、今朝確認したところ、データベース接続確立のエラーとなり、トップページ(index.php)はもちろん、管理画面にすらログインできなくなりました。

    サーバーは、xreaのレンタルサーバー(空き容量97%以上)です。
    MySQLのバージョンは、5.1.22で、昨日以来変わっていないと思われます。

    なお、同じディレクトリに以下のロジックで、test.phpを作成し、単純なMySQL接続テストを行うと正常に接続されますし、phpMyAdminを使っても正常に接続でき、クエリを発行することもできます。

    $db_host = “localhost”;
    $db_user = “ユーザ名”;
    $db_passwd = “パスワード”;
    $db = mysql_connect($db_host,$db_user,$db_passwd);
    $db_name = “データベース名”;

    if(mysql_select_db($db_name,$db))
    echo “正常”;
    else
    echo “異常”;

    mysql_close($db);

    このようなエラーが発生した場合はどのように対処すればよろしいでしょうか。
    ご助言いただければ幸いです。
    よろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター jim912

    (@jim912)

    masa888さん、こんにちは。

    WordPressのDB接続は、wp-config.phpで接続情報が定数として定義され、wp-includes/wp-db.phpが読み込まれると同時にインスタンスが生成され、__constructメソッドにて接続されています。

    この接続に失敗しているということですので、$this->dbhから始めて、mysql_connectの引数などなどを画面に出力させて、正しいかどうかを検証してみてください。

    トピック投稿者 masa888

    (@masa888)

    jim912さん

    ご返信ありがとうございます。
    現在、作業できない場所にいる為、試せないのですが、DB環境とConfigファイルの内容が昨日と今日とで全く変わっていない(少なくともConfigファイルの更新日時は過去日でした)というのが前提で

    急に接続できなくなるのは、どういった原因が考えられますでしょうか?
    自分なりに調べてみたのですが・・・
    ・何らかの原因でデータベースの権限情報がNGとなる?
    ・プラグイン等のプログラムが実行された際にデータベースが破損した?
    ・アクセスが集中した為、何らかの原因でDBに不具合を来たした?(セッションを確認すると長時間Sleepとなっていたセッションがありました。Killしても状況は変わりませんでした。)

    ・その後、アクセスを試そうとすると、Webブラウザが「待機状態」となるか「データベースに接続できませんでした。」のメッセージ表示が出るかのいずれかの結果で終わります。また、Webブラウザが「待機状態」となった状態で放置すると、画面は真っ白のまま、ステータス完了となります。

    最初の投稿で述べた通り、単体でつなぎにいこうとしたら、つなげます。
    また、同じサーバー内の他のphpプログラムやhtmlは正常に動作しています。

    次に試してみようと思うのは以下の通りです。
    ・データベースの権限周りをチェック。
    ・データベースの全テーブルを修復。
    ・それでも復旧しない場合は、WordPressをアップグレードするときと同じ要領で再インストール?

    他に何か行ってみる価値がある手段がありましたらご教示いただければ幸いです。

    モデレーター jim912

    (@jim912)

    masa888さん、こんにちは。

    ・WordPressがデータベースへの接続ができない。
    ・時間の経過にかかわらず、症状の改善が見られない。
    ・同時間帯で、接続テストプログラム、phpMyAdminからは問題なく接続できる。

    上記の症状から推測できることは、データベースやアクセス状態の問題である可能性は低く、接続出来ていないWordPress側の問題である可能性が大きいと思われます。

    ですので、まずはWordPressでデータベース接続を行っている箇所の状況(変数に格納されている値など)を正確に把握し、なぜ接続出来ていないのかを特定してください。

    考えられる原因を総当たりするよりも、状況を把握し原因を確実につぶす方が早く解決します。

    トピック投稿者 masa888

    (@masa888)

    jim912さん
    お世話になります。

    本日19時すぎに、以下の手順を実行したところ、接続できるようになり復旧しました。
    ・phpMyAdminでDBにログインし、当該WordPressで使用しているDBの全テーブルの修復と最適化を実行。
    ・show processlist;でプロセスを表示し、Sleepとなっていた2つのセッションに対してKill(強制切断)を実行。

    以上。

    その後、同じ事象が再現していないので、しばらく様子を見ることにします。
    この度はお忙しいところご返信いただきありがとうございました。
    また、何かありましたらよろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「急にデータベース接続確立のエラーとなっています」には新たに返信することはできません。