はじめに:WordPressにログインできない時の最終手段
「WordPressの管理画面にログインしようとしたら、パスワードが通らない…」
「ローカル環境を構築したら、既存のパスワードが分からなくなった」
Webサイトを運営していると、稀にこのような緊急事態が発生します。通常のパスワードリセット機能(メールアドレスを使った再発行)が使えない場合、どうすればよいでしょうか?
そんな時の最終手段として、サーバーのデータベース管理ツール「phpMyAdmin」を使って、直接データベースを操作する方法があります。
この記事では、phpMyAdminを利用して「既存ユーザーのパスワードを変更する方法」と「新しく管理者ユーザーを追加する方法」を解説します。
※注意:この作業はWebサイトの根幹であるデータベースを直接編集します。手順を間違えるとサイトが表示されなくなる危険性があるため、必ず作業前にデータベースのバックアップを取得してください。
既存ユーザーのパスワードを変更(リセット)する方法
最も一般的で、緊急性の高いケース(パスワード忘れ)の対処法です。
- phpMyAdminにログイン
まず、ご利用のレンタルサーバーのコントロールパネルなどから、phpMyAdminにログインします。 - 対象テーブル(wp_users)を開く
ログイン後、サイドバーから該当するデータベースを選択し、wp_usersというテーブルをクリックします。(※接頭辞wp_は環境によって異なる場合があります) - パスワードを編集
ユーザーの一覧が表示されます。パスワードを変更したいユーザーの行にある「編集」をクリックします。
user_passという項目を探します。- 「関数」のプルダウンメニューから「MD5」を選択します。
- 「値」の欄に、新しく設定したいパスワード(例:
new_password123)を入力します。
- 実行する
画面下部の「実行」ボタンをクリックします。これでパスワードがMD5形式に暗号化されて保存されます。 - WordPress管理画面からログイン
設定した新しいパスワードで、WordPressの管理画面にログインできるか確認してください。
phpMyAdminから新規ユーザー(管理者)を追加する方法
何らかの理由で既存の管理者が使えない場合、新しく管理者ユーザーを作成する方法です。
ステップ1:ユーザー情報の追加 (wp_users)
- phpMyAdminにログインし、サイドバーから
wp_usersテーブルをクリックします。 - 上部にある「挿入」タブをクリックします。
- 以下の必須項目を入力します。
- user_login:新しいユーザー名(例:
new_admin) - user_pass:新しいパスワード。「関数」で「MD5」を選択し、「値」にパスワードを入力します。(例:
new_password456) - user_email:新しいユーザーのメールアドレス
- user_registered:現在の日時を
YYYY-MM-DD HH:MM:SS形式で入力(またはカレンダーから選択)します。 - display_name:管理画面で表示される名前(user_loginと同じでも可)
- user_login:新しいユーザー名(例:
- 「実行」ボタンをクリックします。
- ユーザー一覧の画面に戻ったら、今追加したユーザーの「ID」(一番左の数字)をメモしておきます。
ステップ2:ユーザー権限の設定 (wp_usermeta)
次に、ステップ1で作成したユーザーに「管理者」としての権限を与えます。
- サイドバーから
wp_usermetaテーブルをクリックします。(※wp_の部分はご自身の環境に合わせてください) - 上部にある「挿入」タブをクリックします。
- 1つ目の権限(wp_capabilities)を追加します。
- user_id:先ほどメモした新しいユーザーのID番号を入力します。
- meta_key:
wp_capabilitiesと入力します。(※接頭辞wp_は環境に合わせます) - meta_value:
a:1:{s:13:"administrator";b:1;}と入力します。
- 「実行」ボタンをクリックします。
- 2つ目の権限(wp_user_level)を追加します。
再度「挿入」タブをクリックします。- user_id:先ほどと同じID番号を入力します。
- meta_key:
wp_user_levelと入力します。(※接頭辞wp_は環境に合わせます) - meta_value:
10と入力します。
- 「実行」ボタンをクリックします。
ステップ3:管理画面からログイン
以上で作業は完了です。新しく作成したユーザー名とパスワードで、WordPressの管理画面にログインできることを確認してください。
まとめ
今回は、phpMyAdminを使ってWordPressのユーザーパスワード変更や新規追加を行う、少し高度な方法をご紹介しました。この方法は強力ですが、データベースを直接触るためリスクも伴います。作業は慎重に行い、必ずバックアップを取ってから臨むようにしましょう。
(参考サイト:phpMyAdminからWordPressのユーザーを追加・編集する方法 | TCD)
よくある質問(FAQ)
Q1. なぜパスワードは「MD5」で暗号化する必要があるのですか?
A1. WordPressは、セキュリティ上の理由から、パスワードをそのまま(平文で)データベースに保存せず、「MD5」という形式で暗号化して保存しています。もし平文で「new_password」とだけ入力してしまうと、WordPress側が「これは暗号化されたパスワードではない」と判断し、ログインできなくなってしまいます。phpMyAdminのMD5関数を使うことで、WordPressが認識できる形式でパスワードを保存できます。
Q2. phpMyAdminに「wp_users」テーブルが見つかりません。
A2. wp_ の部分は「テーブル接頭辞」と呼ばれ、WordPressのインストール時に変更できます。セキュリティ対策でデフォルトから変更している場合、例えば abc_users や site1_users のようになっている可能性があります。ご自身の環境の接頭辞を確認して、該当する (接頭辞)_users および (接頭辞)_usermeta テーブルを操作してください。
Q3. そもそもphpMyAdminにどうやってアクセスすればいいですか?
A3. phpMyAdminへのアクセス方法は、ご利用のサーバー環境によって異なります。
- レンタルサーバー(Xserver, ConoHa WINGなど)の場合:
サーバーの管理パネル(コントロールパネル)にログインすると、「データベース」や「phpMyAdmin」といったメニューがあるはずです。そこからワンクリックでアクセスできる場合がほとんどです。 - ローカル環境(MAMP, XAMPPなど)の場合:
MAMPやXAMPPの管理画面(スタートページ)に、phpMyAdminへのリンクがあります。
詳しくは、ご利用のサーバーやツールのマニュアルをご確認ください。