Xserver(エックスサーバー)を長年使用していて、古いMySQL5.0のデータベースを使ったWordpressがいくつかありました。
XserverのX10プランでは、現在50個までデータベースを使うことができるのですが、MySQL5.0のデータベースが残っていると、30個までに制限されてしまいます。
また、新サーバー簡単移行もすることができないので、全てのWordpressのデータベースを5.5に変更する必要がありました。
今回はそのやり方についてメモを残しておきます。
WordPressのデータベース引っ越しの流れ
- PHPMyadmin5.0を利用して、旧データベース(MySQL5.0)をバックアップ
- 新規データベース(MySQL5.5)を作る
- PHPMyadmin5.5を利用して、バックアップしたデータベースをインポート
- FTPでwp-config.phpをダウンロード
- wp-config.phpを新データベースに書き換え
- 書き換えたwp-config.phpをFTPでアップロード
- サイト表示を確認
- 旧データベースを削除
以下、手順を追って説明します
PHPMyadmin5.0を利用して、旧データベース(MySQL5.0)をバックアップ
サーバーパネルから、PHPMyadmin5.0を開きます。
割り当ててあるユーザ名とパスワードでログインします。
移転させたいWordpressのデータベースを選び、エクスポートのタブを選択します。
もともと選択されいているもののほかに操作するところは、
□ DROP TABLE/VIEW/PROCEDURE/FUNCTION を追加
と
□ ファイルに保存する
に☑チェックを入れます
左側のエクスポートの枠が、全選択でグレーになっていることも確認してください。
OKなら、画面右下の(隠れていたらスクロール)『実行』ボタンを押します。
すると、.sqlという拡張子のファイルが作られてダウンロードされますので、わかる場所に保存してください。
新規データベース(MySQL5.5)を作る
Xserverのサーバパネルで、新規にデータベースを作ります。
新規に作るものは全てMySQL5.5(または5.7)になります。
データベースの名前はなんでもいいのですが、私はわかりやすいようにもとのデータベースの末尾に「55」を付けました。
55じゃなくても、2でもなんでもいいです。
例)データベース名が site_example だったら site_example55
データベースを作ったら、ユーザを割り当てます。
このユーザは、今のデータベースと同じユーザでOKです。
PHPMyadmin5.5を利用して、バックアップしたデータベースをインポート
こんどはPHPMyadmin5.5を開きます。
すると先ほど作った新データベースが一覧にあるはずなのでそれを選択。
インポートのタブを選んで、
○アップロードファイル:[ファイルを選択]ボタンを押し、先ほどダウンロードしたバックアップファイルを選択。
実行します。
しばらく時間がかかりますが、問題なければ正常にインポートされ、テーブルができるはずです。
これで旧データベースのデータがコピーされました。
FTPでwp-config.phpをダウンロード
FTPソフトで、Wordpressがインストールされているフォルダを表示、トップディレクトリにある
wp-config.phpというファイルをダウンロードします。
wp-config.phpを新データベースに書き換え
wp-config.phpで、旧データベースを指定している部分2か所を、新データベースの情報に書き換えます。
あらかじめ、コピーを作ってバックアップしておいてください。
何かあった場合に元に戻せます。
エディタでwp-config.phpを開き、
define('DB_NAME', 'site_example');
という部分を探し、先ほど作ったデータベース名に変更します
define('DB_NAME', 'site_example55');
もう一か所
define('DB_HOST', 'mysql999.xserver.jp');
という部分を探し (mysql999 の999部分の番号は、お使いのサーバをご覧ください)
新しいMySQL5.5のサーバ名に変更します
※Xserverの場合、旧サーバがmysql999.xserver.jpだった場合、mysql999a.xserver.jp と、数字のあとにaが入っているようです。
全てとは限りませんので、不明な場合はPHPMyadminの右上をご覧ください。
保存します。
書き換えたwp-config.phpをFTPでアップロード
今書き換えたファイルを、もとの場所に上書きアップロードします。
注意:セキュリティのためファイルのパーミッションを400など書き込み不可にしている場合、アップロードすることが出来ませんので、一時的に600など書き込み可能にしておきます。
サイト表示を確認
WordPressサイトを開いて見て、正常に動作するか確認します。
データベース接続エラーが出る場合、wp-config.phpの記述が何か間違っているはずです。
元のデータベースはきちんと残っていますので、サイトをダウンさせないためにはバックアップしておいたファイルを上書きアップロードして戻してください。
記述が正しければ、サイトは表示されるはずです。
旧データベースを削除
動作に問題がなければ、旧データベース、MySQL5.0のほうは削除します。
削除したら、もう一度サイトの表示を確認してください。
正常に表示されたら、新データベースに移転が完了です。
もしもデータベース接続エラーになる場合、まだwp-config.phpが旧データベースを読み込みに行っていますので記述を確認してください。
旧データベースのデータはバックアップがありますので、インポートすれば復旧できます。
複数サイトを持っている場合は一個一個やっていってみてください。
全ての旧データベースが無くなると、管理画面はMySQL5.5のみになり、作ることができるデータベースの数が50個になっているはずです。
以上、少々面倒ではありますが、それほど時間はかからず移転が完了しました。