ConoHa WINGでWordPressにログインできなくなった時の対処法(DB直接編集)

ConoHa WINGでWordPressにログインできなくなった時の対処法(DB直接編集) IT
この記事は約6分で読めます。

ConoHa WINGで動かしているWordPressに、ある日突然ログインできなくなってしまいました。パスワードも、登録メールアドレスも「不明」という絶望的な状況から、データベース(DB)を直接編集してアカウントを復活させた手順の備忘録です。

この記事でわかること

  • ConoHa WINGのphpMyAdminへのアクセス方法
  • WordPressのユーザーテーブルを直接編集してログイン情報を復旧する手順
  • パスワード変更時に必須の「MD5」設定と、よくあるつまずきポイント

はじめに

このブログ、気づけば数年単位で放置してしまいました。サーバー(ConoHa WING)の維持費だけが毎月チャリンチャリンと引き落とされていく日々…。

「これはいかん!とりあえずGoogle AdSenseの審査だけでも通し直そう」と一念発起し、久しぶりにWordPressの管理画面(/wp-admin)を開いたのですが、ここで事件が起きました。

「エラー: 入力内容を確認の上、もう一度送信してください。」

記憶にあるユーザー名とパスワードを入力しても、返ってくるのは無慈悲なエラーメッセージ。 「パスワードをお忘れですか?」を試そうにも、登録していたメールアドレスすら「登録されていません」と弾かれる始末。

「あれ? 私のアカウント、消えた?」

ブログの記事自体は表示されているので、データは残っているはず。 そこで、サーバーのデータベース(DB)を直接覗いて、無理やりログイン情報を復活させることにしました。今回はその手順の備忘録です。

※注意 データベースの直接編集はリスクを伴います。必ずバックアップを取ってから自己責任で行ってください。

この方法が使える条件

この手順はすべての状況に当てはまるわけではありません。以下の条件を満たす場合に有効です。

  • ブログの記事は表示されている(=データベース自体は生きている)
  • ConoHa WINGのコントロールパネルにはログインできる(サーバー管理権限がある)
  • WordPressの管理画面(/wp-admin)にだけ入れない

「サイト自体が表示されない」「ConoHaにもログインできない」という場合は、原因が異なる可能性があります。まずConoHaのサポートへ確認することをおすすめします。

手順1:まずは「wp-config.php」で正解のDBを探す

ConoHa WINGなど、簡単インストール機能を使っていると「データベース名」や「テーブルの接頭辞」がランダムな文字列になっていることがあります。 まずは「今、ブログがどのDBを使っているか」という正解のルートを確認します。

  1. ConoHaコントロールパネルの「サイト管理」>「ファイルマネージャー」を開く。
  2. public_html フォルダ内の wp-config.php を探してプレビュー。
  3. 以下の2箇所をメモします。
define( 'DB_NAME', 'xxxxxxxx' ); // ←これが正解のDB名
$table_prefix = 'wp_xxxx_';      // ←これがテーブルの接頭辞

私の場合、ここを確認せずに適当なDBを見ていて「ユーザーがいない!?」とパニックになりました。wp-config.phpは絶対に見ましょう。

手順2:ConoHaのコンパネからphpMyAdminへ

正解がわかったら、データベース管理ツールの「phpMyAdmin」にログインします。

  1. ConoHaコントロールパネルの「サイト管理」>「データベース」>「phpMyAdmin」をクリック。
  2. 先ほど wp-config.php で確認した 「DB_NAME(データベース名)」 を左メニューから選択。

ConoHa WINGのphpMyAdminはコンパネから直接シングルサインオンできるため、DBのパスワードを別途入力する必要はありません。この点は手間が省けてありがたいです。

手順3:ユーザー情報の特定と修正(MD5に注意!)

データベースの中にはたくさんのテーブル(表)がありますが、探すべきは末尾が _users となっているテーブルです。 (例:wp_xxxx_users など。ここでも wp-config.php で見た接頭辞が役立ちます)

テーブルを開くと、ユーザー情報が1行だけありました。どうやら何らかの理由で初期化されてしまっていたようです。 ここを直接編集(鉛筆マーク)して、自分の情報を書き込みます。

  • user_login: 任意のログインID
  • user_email: 自分のメールアドレス
  • user_pass: 新しいパスワード

【重要】 WordPressのパスワードは暗号化されています。値の左側にある「関数」プルダウンで 「MD5」 を選択してから実行しないと、ログインできません。

これで「実行」ボタンを押し、無事に新しいIDとパスワードで管理画面に入ることができました!

よくあるつまずきポイント

この手順を実行する際に、私自身や調べた中で頻出するミスをまとめておきます。

① 間違ったデータベースを選択している

phpMyAdminを開いた際、左側のメニューには複数のデータベースが表示されることがあります。「wordpress」「wp_」など、それらしい名前のDBを直感で選んでしまいがちですが、正解のDBは必ずwp-config.phpDB_NAMEで確認するのが鉄則です。

間違ったDBを編集してもログインはできませんし、最悪の場合は別のサービスの設定を壊すことになります。

② MD5を選択せずにパスワードを保存してしまった

phpMyAdminでレコードを編集する際、デフォルトでは「関数」列が空欄になっています。ここに「MD5」を選択しないまま平文のパスワードを保存すると、DBには暗号化なしの文字列が格納されます。

WordPressはログイン時にパスワードをMD5(正確にはphpassというハッシュ)で照合するため、平文のまま保存してもログインできません。必ず「関数」プルダウンから「MD5」を選択してから実行しましょう。

③ wp-config.phpがどこにあるかわからない

ConoHa WINGのファイルマネージャーを開いた際、wp-config.phpはWordPressをインストールしたディレクトリの直下にあります。多くの場合はpublic_html/サイト名/またはpublic_html/直下です。

もし見つからない場合は、ファイルマネージャー右上の検索機能で「wp-config.php」と入力すると見つかります。

④ 管理者権限(user_meta)がなくなっている

_usersテーブルのログインID・パスワードを直してもログインできない場合、_usermetaテーブルの権限情報が失われている可能性があります。wp_xxxx_capabilitiesというフィールドを確認し、以下の値がなければ追加してください。

a:1:{s:13:"administrator";b:1;}

ついでにメンテナンス:PHPバージョンアップ

ログインできたものの、放置期間が長すぎたため環境が浦島太郎状態でした。 セキュリティ的にもマズいので、以下のメンテナンスを一気に行いました。

  • プラグインの全更新: セキュリティ系プラグインなどが数年分古くなっていたので更新。
  • テーマ(Cocoon)の更新: 最新版へアップデート。
  • PHPのバージョンアップ: ConoHaのコンパネから、PHP 7.4 → 8.4 へ変更。

PHPのバージョンアップは、古いテーマやプラグインのままだと画面が真っ白になることがあるので、「プラグイン・テーマ更新 → PHP切り替え」の順序が鉄則です。

ブログを再開したら、記事のインデックス申請も忘れずに。Google Indexing APIで全記事を一括申請する方法を使えば、Pythonスクリプト一発でGoogleに通知できます。

まとめ

というわけで、無事にブログを「現代のスペック」で蘇らせることができました。ConoHa WINGはコントロールパネルから wp-config.php もデータベースもすぐに触れるので、トラブル時の復旧はやりやすかったです(そもそもログイン情報を忘れるなという話ですが…)。

手順作業内容ポイント
1wp-config.phpでDB名と接頭辞を確認コンパネのファイルマネージャーから確認
2phpMyAdminで正しいDBを選択DB_NAMEと一致するものを選ぶ
3_usersテーブルを直接編集MD5を選択してからパスワードを保存

これからまた少しずつ、日頃の困りごとの解決策を更新していこうと思います。

コメント

タイトルとURLをコピーしました