トピック投稿者
Anonymous User 5707065
(@anonymized-5707065)
追記です。
MySQL5を使っています。
サーバーはhetemlです。
undakovrさん、こんにちは。
サーバはどこでしょう?利用環境の情報やエラーメッセージを記述いただかないと正確な回答に至るまでに時間もかかりますし、労力の無駄にもなります。
質問ルール
以下、推測ですが、MySQLのユーザーにテーブル作成権限がなかったりすると、提示いただいたような状況になりそうな気がします。MySQLのユーザー権限を再確認してみていただけますか?
トピック投稿者
Anonymous User 5707065
(@anonymized-5707065)
jim912さん、こんにちは。
返信ありがとうございます。
環境ですが、WordPress 2.9.1です。
サーバーはhetemlです。
以下、エラーメッセージです。
—–
データベース接続確立のエラー
これは wp-config.php ファイルのユーザー名とパスワードが間違っているか、localhost のデータベースサーバーに接続できないかのどちらかを意味します。ホストのデータベースサーバーがダウンしているのかもしれません。
ユーザー名とパスワードに間違いはありませんか ?
ホスト名に間違いはありませんか ?
データベースサーバーは動いていますか ?
上記の用語がよく分からなければサーバーの管理者にお問い合わせください。助言が必要であれば WordPress 日本語フォーラムを訪れるといいでしょう。(訳注: オリジナルのリンク先はWordPress サポートフォーラム (英語))
—–
上記のメッセージです。
携帯で観覧すると「エラー: データベースに接続できません」と出ます。
ブラウザはChromeです。
phpMyAdminからデータベースへは問題なくログインできます。
—–
こうなった経緯ですが、2つ目のブログを運営しようと思い、/web/xxx/と同じファイルを名前を変えて/web/xxx2/というディレクトリ名で/web/xxx/と並列してアップロードしたのですが、wp-config.phpの(今外部なので確認できませんが…;)真ん中らへんにある「’wp_’」を同一のものでアップロードしてしまいました。
本来ならば「’wp2_’」などのように混同しないようにするべき所を…。
サブドメインなどはもう/web/xxx2/で割り当てていたのですが案の定ログイン画面が/web/xxx/のものになり、後から調べても時既に遅し…といった具合です。
仕方がないのでテーマファイルやデータベース、プラグインをバックアップし、/web/内のすべてのファイルを削除して新たにインストールし、config.phpを書き直し(つまり一番初めの状態)アップロードしてログイン画面に行くと、上記の「データベース接続確立のエラー」が出る、という状態です。
長文で申し訳ありません。
DB周りの知識が乏しいもので…。
ご迷惑をお掛けします…。
トピック投稿者
Anonymous User 5707065
(@anonymized-5707065)
>以下、推測ですが、MySQLのユーザーにテーブル作成権限がなかったりすると、提示いただいたような状況になりそうな気がします。MySQLのユーザー権限を再確認してみていただけますか?
上記に関してですが「MySQLのユーザー権限」とはどこで確認できるのでしょうか?phpMyAdminでしょうか?
undakovrさん、こんにちは。
コードを確認しましたが、「データベース接続確立のエラー」が出るケースだとやっぱりmysql_connectでのエラー、つまりデータベースへの接続に失敗しているということになります。
たまに繋がるというのが、全くもって解せないところではありますが。。。。
wp-includes/wp-db.phpの371行目の次に
var_dump( $dbhost, $dbuser, $dbpassword, $this->dbh );
を追記して、ホスト、ユーザー、パスワードが正しいかどうか再確認してみてください。$this->dbhはデータベースへ接続できていないとすると、falseとなるはずです。
データベースの権限関連は、phpMyAdminでは「特権」という項目で確認できますが、追加情報なども合わせてそれ以前の問題ではないかという気がしています。
トピック投稿者
Anonymous User 5707065
(@anonymized-5707065)
jim912さん
やってみたところ「NULL NULL NULL bool(false)」と出ました。
このNULLって何ですか?空、という意味なのでしょうか…?
データベースはもう作ってあるのですが…。
undakovrさん、こんにちは。
やってみたところ「NULL NULL NULL bool(false)」と出ました。
このNULLって何ですか?空、という意味なのでしょうか…?
おっしゃるとおり、空です。
本来ここでは、データベースへ接続するためのホスト名、ユーザー名、パスワードが出力されるべきなので、「データベース接続確立のエラー」が出るのもうなずけます。
で、ここの接続情報は、wp-config.phpで定義されるDB_HOST、DB_USER、DB_PASSWORDが利用されますので、wp-config.phpの記述がおかしくなっているか、読めていないのではないかと推測されます。
ですので、wp-config.phpを見て、データベースの接続情報が正しく記述されているか、また、BOMなしのUTF-8で保存されているかを確認してみてください。
トピック投稿者
Anonymous User 5707065
(@anonymized-5707065)
jim912さん、こんにちは。
どうにか復旧させることができました。
WordPressのファイルを全て入れ替え→データベースを新しいものに変える→wp-config.php内の「localhost」をどのデータベースを使っているか指定したら繋がりました…。
そして今度は前に取ったデータベースのバックアップをインポートすると同じような状態に陥ります。
過去のデータを失うのは何となく悲しいですが、どうにかこうにか復旧は出来ました。ありがとうございます!