MySQL コマンドプロンプト経由で WordPress 管理者パスワードをリセットする方法
管理者、編集者、作成者、寄稿者、購読者など、次のいずれかの権限を持つWordPress ユーザーが、ログイン資格情報、特にパスワードを忘れてしまうことがあります。
WordPress のパスワードは、「パスワードを紛失した」WordPress ログイン フォームから簡単に変更できます。ただし、WordPress アカウントがメール アドレスにアクセスする方法がない場合、このメカニズムを使用してパスワードを変更することは不可能になる可能性があります。このような場合、WordPress アカウントのパスワードを更新するジョブは、MySQL データベース デーモンに対する完全な権限を持つシステム管理者のみが管理できます。
このガイドでは、Linux の MySQL コマンドラインを使用して WordPress アカウントのパスワードをリセットする方法を説明します。
MySQL/MariaDB データベース サービスにログインする前に、以下のコマンドを実行して、アカウントに割り当てられる新しいパスワードのMD5 ハッシュ バージョンを作成します。
この例で使用されている「newpass」文字列を独自の強力なパスワードに置き換えます。後でハッシュを MySQL ユーザー パスワード フィールドに貼り付けるために、パスワード MD5 ハッシュをファイルにコピーします。
echo -n "newpass" | md5sum
新しいパスワードの MD5 ハッシュを生成したら、root 権限で MySQL データベースにログインし、以下のコマンドを発行して WordPress データベースを識別して選択します。この場合、WordPress データベースの名前は「wordpress 」になります。
mysql -u root -p
MariaDB [(none)]> show databases;
MariaDB [(none)]> use wordpress;
次に、以下のコマンドを実行して、WordPress ユーザー アカウントの保存を担当するテーブルを特定します。通常、すべてのユーザー情報を保存するテーブルは wp_users
です。
wp_users
テーブルをクエリして、すべてのユーザー ID
、ログイン名、パスワードを取得し、パスワードの変更が必要なアカウントのユーザー名 ID フィールドを特定します。
ユーザー名 ID 値は、パスワードをさらに更新するために使用されます。
MariaDB [(none)]> show tables;
MariaDB [(none)]> SELECT ID, user_login, user_pass FROM wp_users;
パスワードの変更が必要なユーザーのIDを正しく特定したら、以下のコマンドを発行してパスワードを更新します。ユーザー ID
とパスワード MD5
ハッシュを適宜置き換えます。
この場合、ユーザー ID は 1 で、新しいパスワード ハッシュは e6053eb8d35e02ae40beeeacef203c1a です。
MariaDB [(none)]> UPDATE wp_users SET user_pass= "e6053eb8d35e02ae40beeeacef203c1a" WHERE ID = 1;
まだ MD5 ハッシュ化されたパスワードをお持ちでない場合は、以下の例に示すように、プレーン テキストで書かれたパスワードを使用して MySQL UPDATE コマンドを実行できます。
この場合、MySQL MD5()
関数を使用して、パスワード文字列の MD5 ハッシュを計算します。
MariaDB [(none)]> UPDATE wp_users SET user_pass = MD5('the_new_password') WHERE ID=1;
パスワードを更新した後、このユーザー データベース情報を取得するために、パスワードを変更したユーザーの ID を使用して wp_users テーブルをクエリします。
MariaDB [(none)]> SELECT ID, user_login, user_pass FROM wp_users WHERE ID = 1;
それだけです!ここで、パスワードが更新され、新しいパスワードで WordPress にログインできるようになるはずであることをユーザーに通知します。