2026年5月20日

2026年5月20日

データベースのパスワードが変わった場合の対処法【wp-config.php更新】

はじめに

ホスティングサービスのセキュリティ強化でMySQLパスワードをリセットした、または誤って変更してしまった場合、WordPressは即座に「データベース接続確立エラー」になります。対処方法はシンプルで、wp-config.phpのパスワードを新しいものに更新するだけです。

症状・確認

データベースパスワード変更が原因の特徴:

  • パスワードを変更した直後にエラーが発生した
  • サーバー移転やホスティング契約更新のタイミングで発生した
  • 「データベース接続確立エラー」(Error Establishing a Database Connection)が表示される
  • ホスティングから「DBパスワードの有効期限」の通知があった

解決手順

ステップ1:ホスティングで現在のパスワードを確認

まず現在の正しいパスワードを確認します:

エックスサーバーの場合:

1. サーバーパネル → 「MySQL設定」→「MySQLユーザー一覧」

2. 対象ユーザーの「パスワード変更」で新しいパスワードを設定

cPanelの場合:

1. 「MySQL Databases」→「MySQL Users」

2. 「Change Password」で新しいパスワードを設定

ロリポップの場合:

1. ユーザー管理画面 → 「データベース」

2. 接続パスワードを確認・変更

パスワードをリセットした場合は、新しいパスワードをメモしておきます。

ステップ2:wp-config.phpを更新する

FTPでwp-config.phpをダウンロードし、DB_PASSWORDを更新します:

// 変更前
define('DB_PASSWORD', 'old_password_123');

// 変更後(新しいパスワードに更新)
define('DB_PASSWORD', 'new_password_456');

更新後、FTPでサーバーにアップロードします。

ステップ3:特殊文字を含むパスワードの注意点

パスワードにシングルクォート(')が含まれる場合は、ダブルクォートで囲みます:

// ❌ シングルクォートを含むパスワードをシングルクォートで囲むと構文エラー
define('DB_PASSWORD', 'pass'word');  // SyntaxError!

// ✅ ダブルクォートで囲む
define('DB_PASSWORD', "pass'word");

// ✅ またはバックスラッシュでエスケープ
define('DB_PASSWORD', 'pass\'word');

その他の注意が必要な特殊文字:\(バックスラッシュ)、$(ドル記号)

// $ を含む場合もダブルクォートは展開されるので注意
define('DB_PASSWORD', 'P@$sword');   // シングルクォートなら$は文字として扱われる
define('DB_PASSWORD', "P@\$sword");  // ダブルクォートなら\$とエスケープ必要

最も安全な書き方は特殊文字を含む場合にシングルクォートを使い、シングルクォート自体は\'でエスケープすることです。

ステップ4:サイトにアクセスして確認

wp-config.phpを更新・アップロードした後、ブラウザでサイトにアクセスします。エラーが解消されれば完了です。

ステップ5:管理画面に入ってキャッシュをクリア

サイトが表示されたら、管理画面にログインしてキャッシュプラグインのキャッシュをクリアします(W3 Total Cache・WP Super Cache等)。

定期的なパスワード変更のベストプラクティス

セキュリティのためにDBパスワードを定期変更する場合、手順が崩れると本番サイトがダウンするため注意が必要です:

1. 新しいパスワードをメモ・パスワードマネージャーに保存

2. ホスティング管理画面でDBパスワードを変更

3. 即座にwp-config.phpDB_PASSWORDを更新してアップロード

4. サイトへのアクセスでエラーがないか確認

変更はサイトアクセスが少ない時間帯(深夜など)に行うと安全です。

wp-config.phpのパーミッション

wp-config.phpのパーミッションは600(所有者のみ読み書き)が推奨されます:

chmod 600 wp-config.php

Webサーバーが読み取れる最低限の権限に制限することで、万一の場合でも第三者にパスワードが漏れにくくなります。

まとめ

DBパスワード変更後のWordPressエラーは、wp-config.phpDB_PASSWORDを新しいパスワードに更新してFTPでアップロードするだけで解決します。特殊文字が含まれる場合はクォートの扱いに注意してください。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ