エックスサーバー(XSERVER)で「WordPress簡単インストール」を行うとデータベース名は「aimix_wp1」や「aimix_wp2」のような名称になりますが、複数のWordPressが存在していると、どれを使っているか分かりづらく、誤って異なるデータベースを操作してしまう恐れがあります。
ここではデータベース名を比較的安全に変更する方法を記載します。
新規データベースの作成
半角英数字だけで16文字までと結構制限が厳しいので以下のような名称にしました。
aimix01wordpress
「ドメイン」「番号」「用途」みたいな感じです。
ドメインが長い場合は「wordpress」は「wp」にし、「aimix01wp」みたいな感じでも良いと思います。
データベースの作成直後は操作できるユーザーが設定されていないため、右にある「アクセス権未所有ユーザ」からWordPressのDBユーザーを選択して「追加」で操作できるようにしておきます。
既存データベースのエクスポート
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