この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
お疲れ様です。
株式会社協栄情報システム3部所属の比嘉です。
WordPressのログインパスワードを忘れてしまい、リセットメールも届かない(SMTP/SES未設定)状況になってしまいました(下記写真参照)。
これを解決した過程を記事にしていきます。
手順
- TeraTermでEC2インスタンスにsshで接続
- データベースのユーザー名とパスワードを確認
- SQL文よりRDSのフィールド値を直接修正して、ログインするためのパスワードを設定
1.TeraTermでEC2インスタンスにsshで接続
2.データベースのユーザー名とパスワードを確認
・more /var/www/html/wp-config.php
でwp-config.phpの中身を確認する
(more→長いメッセージやテキストファイルを1画面ずつ表示)
...省略...
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', '×××' );
/** Database username */
define( 'DB_USER', '×××' );
/** Database password */
define( 'DB_PASSWORD', '×××' );
/** Database hostname */
define( 'DB_HOST', '×××' );
上記の画像よりデータベースのユーザー名、パスワードが確認できました。
※DB_NAME,DB_USER,DB_PASSWORD,DB_HOSTは隠しています。
3. SQL文よりRDSのフィールド値を直接修正して、ログインするためのパスワードを設定
・下記のコマンドでEC2からRDS(mySQL)に接続
mysql -h エンドポイント -P 3306 -u ユーザー名 -p データベース名
(mysql→MySQLサーバーに接続)
[ec2-user@ip-10-0-1-10 ~]$ mysql -h エンドポイント -P 3306 -u ユーザー名 -p データベース名
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 196
Server version: 8.0.28 Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [WordPress01]>
・下記のコマンドで新しいパスワードとユーザー名を設定
update wp_users set user_pass=md5('新パスワード') where user_login='新ユーザー名';
(update→更新)
(set→設定)
(where→条件の指定)
MySQL [WordPress01]> update wp_users set user_pass=md5('新パスワード') where user_login='新ユーザー名';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MySQL [WordPress01]>
これでWordPressの管理画面にログインできるようになります。
おわりに
ここまで読んでいただきありがとうございました。
はじめての技術ブログの投稿で言語化することに大変苦労しましたが、理解度はかなり深まりました。
ご指摘等がございましたら、ご教授いただけますと幸いです。