【WordPress】IDとパスワードを忘れた時にデータベースを使って直接変更する方法|WP-CLI優先・MD5の安全な使い方

WordPressのログイン情報を忘れてしまい、通常のパスワードリセットもうまくいかない場合は、データベースを直接操作してパスワードを変更できます。この記事では、使える環境ごとの優先順位と、安全な実行方法を解説します。

この記事でわかること

  • SSHが使えるならWP-CLIが最優先(最初から安全な形式で保存される)
  • phpMyAdminしか使えない場合の安全なMD5の使い方
  • ログイン後に自動で安全な形式へ更新される仕組み
スポンサーリンク

方法を選ぶ前に:使える環境で優先順位が変わる

データベースを直接操作するには、以下のいずれかが必要です。SSHが使える場合はWP-CLI、phpMyAdminしか使えない場合はSQLの直接実行を優先してください。

  • サーバーへのSSHアクセスがある → WP-CLI(最も安全)
  • コントロールパネル・phpMyAdminしか使えない → SQLの直接実行 or MD5関数

方法1(推奨):SSHが使える場合はWP-CLIで変更する

WP-CLIが使える環境であれば、これが最も安全な方法です。最初から現行のWordPressの安全な形式(bcrypt等)でハッシュ化されて保存されるため、一時的にせよ弱いMD5ハッシュの状態を経由しません。

SSH:ユーザー一覧の確認とパスワード変更
# ユーザー一覧とIDを確認
wp user list

# ID 1のユーザーのパスワードを変更
wp user update 1 --user_pass="新しいパスワード"

方法2:phpMyAdminでデータベースを直接変更する

SSHが使えず、phpMyAdminなどのデータベース管理ツールしか使えない場合の手順です。

  1. サーバーのコントロールパネルにログインし、phpMyAdminを開きます。
    phpMyAdmin
  2. 左側のメニューからWordPressのデータベースを選択します。
    phpMyAdmin
  3. wp_users テーブルを探して開きます(プレフィックスがサイトによって異なる場合があります)。
    wp_usersテーブル
  4. パスワードを変更したいユーザーの行を見つけます。
    ユーザーIDを特定する

ここからの変更方法が重要です。次の2つのうち、どちらか一方だけを行います。

SQLタブで直接実行する(最も確実)
UPDATE wp_users SET user_pass = MD5('新しいパスワード') WHERE user_login = 'ユーザー名';

SQLタブを使わず編集画面から操作したい場合は、user_pass フィールドの「関数」列のドロップダウンで MD5 を選択し、「値」欄に新しいパスワードの平文を入力して保存します。

外部のMD5計算サイトには新しいパスワードを入力しない
「文字列をMD5に変換」といった外部のオンラインツールに新しいパスワードの平文を入力するのは避けてください。phpMyAdminのSQLタブのMD5()関数、または編集画面の「関数」ドロップダウンを使えば、パスワードの平文を外部サイトに送信することなく、phpMyAdmin内だけで完結します。

編集画面で関数にMD5を選択しパスワードを入力する

ログイン後は自動で安全な形式に更新される

WordPressのログイン画面に戻り、設定した新しいパスワードでログインします。

ログインするだけで安全な形式に自動更新される
MD5ハッシュは古い形式のため、そのまま保存し続けるのはセキュリティ上好ましくありません。ただし心配は不要です。WordPressは新しいパスワードでのログインに成功すると、内部で自動的にハッシュ形式をチェックし、現行の安全な形式(bcrypt等)へ自動的に再ハッシュして保存し直します。手動でもう一度パスワードをリセットし直す必要はありません。

よくある質問(FAQ)

QphpMyAdminでWordPressのパスワードを変更する手順は?
Awp_usersテーブルのuser_passカラムを、SQLタブでUPDATE wp_users SET user_pass = MD5('新パスワード') WHERE user_login = 'ユーザー名'; のように実行するか、編集画面の「関数」ドロップダウンでMD5を選んで平文を入力します。外部のハッシュ生成サイトに平文パスワードを入力するのは避けてください。
QWP-CLIを使ってパスワードを変更する方法は?
Awp user update 1 --user_pass="新しいパスワード" コマンドで変更できます。WP-CLIは現行の安全な形式で直接ハッシュ化して保存するため、SSHが使える環境ではこちらが最も安全な方法です。IDはwp user listで確認できます。
Q管理者IDを忘れた場合にDBからユーザー名を確認するには?
AphpMyAdminでwp_usersテーブルを開き、user_loginカラムを確認します。またはSELECT ID, user_login FROM wp_users;のSQLを実行します。

まとめ

  • SSHが使えるなら:WP-CLIのwp user updateが最も安全
  • phpMyAdminしか使えないなら:SQLタブのMD5()関数、または編集画面の「関数」ドロップダウンでMD5を使う(外部サイトに平文を入力しない)
  • ログイン後:自動的に安全な形式へ再ハッシュされるため追加操作は不要

パスワード管理は大切です。今回のような緊急時の対応方法とあわせて、普段からパスワードマネージャーなどで安全に管理しておきましょう。