SQLコマンドで直接データベースを確認し、「wordpress」に登録されているユーザの確認方法と、パスワードの変更方法です。(毎回手順を調べているので自分用のメモ)
ユーザ情報の確認方法
「wordpress」用に作成したデータベースの下記テーブルを確認することで、登録されているユーザの情報を確認することが出来ます。
- wp_users 登録ユーザ一覧情報
- wp_usermeta 登録ユーザの権限情報などの詳細情報
データベースのテーブル接頭辞を「wp_」で作成しているものとします。
それ以外の場合は「wp_」部分を適宜読み替えてください。
wp_users
「wp_users」テーブルを確認することで、「wordpress」登録されているユーザの情報を取得することができます。
ユーザ情報として取得できる項目として下記カラムが存在しています。
- ID
- user_login
- user_pass
- user_nicename
- user_email
- user_url
- user_registered
- user_activation_key
- user_status
- display_name
データ取得方法
実際にデータを確認するために下記コマンドで「MariaDB」にログインします。
接続するユーザは、「MariaDB」のrootユーザか、確認するデータベースの管理権限を持ったユーザでログインしてください。
データベースの管理権限を持ったユーザとパスワードについては、「wp-config.php」の「DB_USER」と「DB_PASSWORD」に設定されています。
mysql -u ユーザ -p
あとは、下記SQLを実行することでデータを取得することが出来ます。
DB名は「wp-config.php」の「DB_NAME」の値となります。
SELECT * FROM DB名.wp_users;
実行例
実際に「servermemo」という「wordpress」用DBの「wp_useres」テーブルを確認してみると、下記のように登録されているユーザ情報が表示されます。(ユーザ名やメールアドレスなどは伏字としています)
※SQL分の最後の「\G」は表示結果を縦に表示させるために使用しています。
MariaDB [(none)]> SELECT * FROM servermemo.wp_users \G *************************** 1. row *************************** ID: 1 user_login: xxxxxx user_pass: $P$BbdJW4oJEkSaA9uoiqHblx0vfYoR/a. user_nicename: xxxxxx user_email: xxxxxx@xxxxx.xxx user_url: user_registered: 2018-10-24 12:07:05 user_activation_key: user_status: 0 display_name: xxxxxxx *************************** 2. row *************************** ID: 2 user_login: yyyyyy user_pass: $P$BSoeiXmrTKuG4jzHW7FlYtXaXASjNU. user_nicename: yyyyyy user_email: yyyyyy@yyyyy.yyy user_url: user_registered: 2018-10-25 03:26:24 user_activation_key: user_status: 0 display_name: yyyyy 2 rows in set (0.00 sec)
パスワードはMD5形式で暗号化されています。
wp_usermeta
「wp_usermeta」テーブルにはユーザに関する色々な設定が下記カラムに格納されています。
- umeta_id
- user_id
- meta_key
- meta_value
ちなみに、「meta_key」の「wp_capabilities」に「administrator」と表示されているユーザが、「wordpress」の管理者権限を持つユーザになります。
データ取得方法
「wp_usermeta」テーブルの情報は下記SQLで表示させることが出来ます。
SELECT * FROM DB名.wp_usermeta;
実行例
実際に「wp_usermeta」テーブルの中身を確認してみます。(ユーザの名前は伏せています)
※SQL分の最後の「\G」は表示結果を縦に表示させるために使用しています。
MariaDB [(none)]> SELECT * FROM servermemo.wp_usermeta \G *************************** 1. row *************************** umeta_id: 1 user_id: 1 meta_key: nickname meta_value: xxxxxx *************************** 2. row *************************** umeta_id: 2 user_id: 1 meta_key: first_name meta_value: *************************** 3. row *************************** umeta_id: 3 user_id: 1 meta_key: last_name meta_value: *************************** 4. row *************************** umeta_id: 4 user_id: 1 meta_key: description meta_value: *************************** 5. row *************************** umeta_id: 5 user_id: 1 meta_key: rich_editing meta_value: true *************************** 6. row *************************** umeta_id: 6 user_id: 1 meta_key: syntax_highlighting meta_value: true *************************** 7. row *************************** umeta_id: 7 user_id: 1 meta_key: comment_shortcuts meta_value: false *************************** 8. row *************************** umeta_id: 8 user_id: 1 meta_key: admin_color meta_value: fresh *************************** 9. row *************************** umeta_id: 9 user_id: 1 meta_key: use_ssl meta_value: 0 *************************** 10. row *************************** umeta_id: 10 user_id: 1 meta_key: show_admin_bar_front meta_value: true *************************** 11. row *************************** umeta_id: 11 user_id: 1 meta_key: locale meta_value: *************************** 12. row *************************** umeta_id: 12 user_id: 1 meta_key: wp_capabilities meta_value: a:1:{s:13:"administrator";b:1;} *************************** 13. row *************************** umeta_id: 13 user_id: 1 meta_key: wp_user_level meta_value: 10 ##### 以下省略 #####
管理者権限を持ったユーザを調べる方法
管理者権限を持ったユーザを探したい場合は、「meta_key」の「wp_capabilities」に「administrator」と表示されているユーザを探すことで、「wordpress」の管理者権限を持つユーザを探すことが出来ます。
実際に、「servermemo」という「wordpress」用DBの「wp_usermeta」テーブルを確認してみます。
SELECT * FROM servermemo.wp_usermeta WHERE meta_key LIKE '%nickname%' OR meta_key LIKE 'wp_capabilities' ; +----------+---------+-----------------+---------------------------------+ | umeta_id | user_id | meta_key | meta_value | +----------+---------+-----------------+---------------------------------+ | 1 | 1 | nickname | xxxxxx | | 12 | 1 | wp_capabilities | a:1:{s:13:"administrator";b:1;} | | 19 | 2 | nickname | yyyyyy | | 30 | 2 | wp_capabilities | a:1:{s:6:"author";b:1;} | +----------+---------+-----------------+---------------------------------+
今回は「nickname」の値も一緒に表示させていますが、「nickname」とログインユーザ名の設定が異なる場合もあるため、より正確にどのユーザが管理者権限を持っているかを確認するためには、「user_id」の値に注目してください。
「user_id」の値は「wp_users」テーブルの「user_id」カラムと対応しているので、見比べることで管理者ユーザを判別することができます。
パスワード変更
ユーザのパスワードが分からなくなった場合は、下記コマンドでパスワードの再設定を行うことが出来ます。
管理者ユーザのパスワードを忘れてしまった場合などに使用してください。
UPDATE DB名.wp_users SET user_pass = MD5('新しいパスワード') WHERE user_login = 'パスワード変更ユーザー';
パスワード変更例
「tamotamo」というユーザのパスワードを「dbpass」に変更してみます。
MariaDB [(none)]> UPDATE servermemo.wp_users SET user_pass = MD5('dbpass') WHERE user_login = 'tamotamo'; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0
これでユーザのパスワードが変更されたので、実際にwordpressにログインできるか確認してみてください。
コメント