2026年5月30日
2026年5月30日
WordPressのパスワードをFTPで強制リセットする方法
はじめに
WordPressサイトの管理者や編集者が何らかの理由でログインできなくなった場合、通常のパスワードリセット機能が利用できないことがあります。そのような状況では、FTPアカウントを使用してデータベース内のユーザー情報を直接変更することで、パスワードを強制的に再設定することができます。
この記事では、FTPアクセスを利用してWordPressのユーザーパスワードを再設定するための手順を解説します。ただし、この方法はセキュリティ上のリスクがあるため、絶対に必要な場合のみ使用することをお勧めします。
症状・背景
このテーマが必要になる主な場面:
- パスワードの忘れ
- ログインメールアドレスが変更され、新たなメールアドレスが受信できない
- WordPressのパスワードリセット機能が正常に動作しない
- 他言語版から日本語版への移行時に元のユーザー情報が引き継げない
手順・設定方法
ステップ1: WordPressデータベースへの接続
# FTPクライアントを使用してwp-config.phpファイルを開く
ftp://<ユーザー名>:<パスワード>@<サーバー名>/public_html/wp-config.php
# データベース名、ユーザー名、パスワードを確認する
define('DB_NAME', '<データベース名>');
define('DB_USER', '<データベースユーザー名>');
define('DB_PASSWORD', '<データベースパスワード>');
ステップ2: wp_usersテーブルのアクセス
# MySQLクライアントに接続(SSH経由)
mysql -u <データベースユーザー名> -p<データベースパスワード> -h <ホスト名>
# データベースを指定する
use <データベース名>;
ステップ3: パスワードのハッシュ値生成
# WordPress用のハッシュ関数を使用して新パスワードを作成(PHPコマンドラインインタープリタ)
php -r "echo password_hash('<新しいパスワード>', PASSWORD_DEFAULT);"
ステップ4: パスワードを更新
# 更新したいユーザーIDを特定する
SELECT ID, user_login FROM wp_users;
# ハッシュ化されたパスワードでwp_usersテーブルのpasswordカラムを更新
UPDATE wp_users SET user_pass = '<生成したハッシュ値>' WHERE ID = <ユーザーID>;
ステップ5: キャッシュとセッションクリア
# WordPressプラグインやホスティングプロバイダーによっては、キャッシュがログインの問題を引き起こすことがあります。
# そのような場合、FTPでwp-content/w3tc-cacheディレクトリ(W3 Total Cacheの場合)を削除するか、プラグインの設定ページから全キャッシュをクリアします。
# セッションファイルも更新後のユーザーデータが反映されるまで削除または再作成することをお勧めします。
rm -rf /path/to/wordpress/wp-content/uploads/session/
注意事項
- <実践的な注意点1>: パスワードを変更した後は、新しいパスワードでログインできることを確認してください。
- <実践的な注意点2>: FTPやSSHアクセスの権限を持つユーザーのみがこの手順を行うことができます。必要に応じてアカウント情報を管理者に提供するか、専門家の助けを求めましょう。
- <セキュリティ上の注意>: パスワードを変更した後は直ちにサイトやデータベースのセキュリティチェックを行い、攻撃から保護するためにパスワードを適切に管理しましょう。
- <パフォーマンス/運用上の注意>: 上記手順で生成されたパスワードは複雑なものにしてください。また、定期的なバックアップと安全なアクセス制御の確保も忘れずに。
まとめ
1. ユーザー情報確認: データベース内で特定のユーザーIDを識別します。
2. 新しいパスワード作成: WordPress用に適切にハッシュ化された新パスワードを作成します。
3. データ更新: wp_usersテーブル内のパスワードフィールドを更新します。
4. セッションクリア: セッションファイルとキャッシュのクリアを実施して新しいユーザーデータが反映されるようにします。
5. バックアップ: パスワード変更前後のデータベース全体や該当するユーザー情報だけでも必ずバックアップを取ります。
関連記事: