エックスサーバーでWordPressのデータベース名を変更する

エックスサーバー(XSERVER)で「WordPress簡単インストール」を行うとデータベース名は「aimix_wp1」や「aimix_wp2」のような名称になりますが、複数のWordPressが存在していると、どれを使っているか分かりづらく、誤って異なるデータベースを操作してしまう恐れがあります。

ここではデータベース名を比較的安全に変更する方法を記載します。

新規データベースの作成

半角英数字だけで16文字までと結構制限が厳しいので以下のような名称にしました。

aimix01wordpress

「ドメイン」「番号」「用途」みたいな感じです。

ドメインが長い場合は「wordpress」は「wp」にし、「aimix01wp」みたいな感じでも良いと思います。

データベースの作成直後は操作できるユーザーが設定されていないため、右にある「アクセス権未所有ユーザ」からWordPressのDBユーザーを選択して「追加」で操作できるようにしておきます。

操作可能なユーザーに追加されていないとphpMyAdminで対象のテーブルが表示されません

既存データベースのエクスポート

WordPressのプラグインでエクスポートするなら「BackWPup」などのバックアップツールで行いますが、エックスサーバーの機能で行う場合は「サーバーパネル」上からダウンロードできます。

どちらもmysqldumpコマンドで取得できる同一のものなので、どちらでエクスポートしても構いません。

MySQLバックアップから、

得られるデータはテキストのため圧縮すると1/10程度と大幅に小さくなります。

記事数が多いブログだと数百MB以上になってる事もあるため、必ず「gz形式」で圧縮してダウンロードします。

作成したデータベースへインポート

「phpmyadmin」をクリックしてphpMyAdminへログインします。

phpMyAdminへのログインは「MySQLユーザー」として登録したユーザー名とパスワードを使います。

左ペインにデータベース一覧が表示されているので、先程作成したデータベース名をクリックします。

作成したデータベースがここに表示されない場合、ログインしたユーザーにデータベースのアクセス権が無い状態のため、エックスサーバーのサーバーパネルから対象ユーザーを追加してください。

「アップロードファイル」の「参照」ボタンから先程ダウンロードしたデータベースを選択します。

圧縮したままの「xxx.gz」でも解凍後の「xxx.sql」でもどちらでも良く、オプションがいくつか選択できますが、すべてデフォルトでOKです。

最下部にある「実行」ボタンを押すとインポートされます。

WordPressの設定

WordPressのインストールディレクトリ直下にある「wp-config.php」を編集します。

最上部で以下のようにデータベース名を指定していますので、作成したデータベース名に修正します。

define('DB_NAME', 'aimix_wp1');

データベース名はエックスサーバーのサーバーパネル「MySQL設定」から確認できます。

以下のような感じで修正します。

define('DB_NAME', 'aimix_test01wordpress');

ユーザー名・パスワードや、データベースのサーバーも変更する場合はすぐ下の以下の箇所も修正します。

/** MySQL データベースのユーザー名 */
define('DB_USER', 'sample01');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', '12345');

/** MySQL のホスト名 */
define('DB_HOST', '127.0.0.1');

動作確認と古いデータベースの削除

WordPressでデータベースを指定しているのは上記の箇所だけなので、「wp-config.php」を修正して上書きすると指定したデータベースにすぐ切り替わりますので、記事などが正常に表示されるか確認します。

いきなり古いデータベースを削除するのは怖いので、まず削除対象データベースの「アクセス権所有ユーザ」からすべてのユーザーを削除します。

間違えて違うデータベースのユーザーを削除しても、右の「追加」ボタンからすぐ戻せます。

削除対象のデータベースからすべてのユーザーを削除し「ユーザーはいません」の状態になったら、再びWordPressを表示して正常に表示されるか確認しておきます。
この状態で正常に表示できればWordPressで「ユーザーはいません」のデータベースは使われていない事が確認できます。

間違ってWordPressで使用中のデータベースのユーザーを削除すると、WordPressのアクセス時に「データベース確立エラー」が出ます(ユーザー名やパスワードが間違ってませんか?みたいなエラーです)

この手順で行えば、移行先のデータベースへの正常なアクセスが確認できる事と、削除予定のデータベースだけ「ユーザーはいません」状態に状態になっているので誤操作しづらいと思います。

確認できたら古いデータベースを削除して完了です。

Comment

タイトルとURLをコピーしました