プラスα空間

ブログ in お市 のーと

WordPressのサーバーの引っ越し

レンタルサーバーを引っ越ししようかと、検討してみました。

その結果、見送る事にしました。

サーバー引っ越し検討に当たり、次の作業をしました。

  1. 現在のディレクトリのバックアップ (tar)
  2. 現在のデータのエクスポート (phpMyAdmin)
  3. ドメイン情報書き換え
  4. CREATE ALGORITHM=UNDEFINED文の書き換え
  5. 新サーバへのデータの展開
  6. 新サーバへのデータインポート (phpMyAdmin)
  7. 新サーバのwp-config.php書き換え

example.comからexample.orgに引っ越すと仮定して、順を追って説明します。

1. 現在のディレクトリのバックアップ (tar)

example.comのWeb用データ一式をバックアップします。example.comに、SSHでログインします。

public_htmlと言うディレクトリだとしたら、次の様になるでしょう。

$ tar cvzf public_html.tar.gz public_html

もし、ZIPなら次の様になります。

$ zip -r public_html.zip public_html

example.comに、SSHでログインできないなら、FTPツールでダウンロードして下さい。

もし、引っ越し先のサーバー(example.org)が、引っ越しツール(自動FTPなど)を使えるなら、この限りではありません。

2. 現在のデータのエクスポート (phpMyAdmin)

example.comで、phpMyAdminを起動します。そして、次の手順でバックアップします。

  1. データベース選択
  2. エクスポート選択
  3. 「詳細 – 可能なオプションをすべて表示」選択
  4. 「生成オプション」の「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT コマンドを追加する」をチェック
  5. 実行を押して保存

「作成するクエリの最大長」は、50,000 (デフォルト?)のままで大丈夫です。この数字を大きくしすぎると、インポートする側で一つのクエリ時間が長くなりすぎて、エラーになる事があります。

3. ドメイン情報書き換え

保存したデータ(SQL文)が、”example_com_wpdb.sql”だとします。次の方法で、ドメイン名を書き換えます。

sed -e 's/example\.com/example\.org/g' example_com_wpdb.sql > example_org_wpdb.sql

今回は、レンタルサーバー比較のため、ドメイン名を書き換えています。もし、引越し後もドメイン名が同じなら、この作業は必要ありません。

4. CREATE ALGORITHM=UNDEFINED文の書き換え

“example_com_wpdb.sql”の後ろのほうに、CREATE ALGORITHM=UNDEFINED文があると思います。この文中で、”DEFINER=`eyvdpcgs_5imhzze`@`localhost`”と言う様な記述があると思います。この記述は、管理者権限を持っていないと、実行できません。

次のエラーになるはずです。

#1227 - Access denied; you need the SUPER privilege for this operation

“example_org_wpdb.sql”に現れるのは、せいぜい数カ所なので、エディタを使ってこの記述を削除します。

次のウェブページを参考にさせていただきました。ありがとうございます。そして、Thnak you!

5. 新サーバへのデータの展開

「1. 現在のディレクトリのバックアップ (tar)」でバックアップしたデータを、新サーバ(example.org)で展開します。

tarだと、次の様になるでしょう。

$ tar xvzf public_html.tar.gz
$ cd public_html
$ mv * ..
$ mv .htaccess ..
$ cd ..
$ rmdir public_html

もし、ZIPなら次の様になります。

$ unzip public_html.zip
$ cd public_html
$ mv * ..
$ mv .htacess ..
$ cd ..
$ rmdir public_html

example.orgに、SSHでログインできないなら、FTPツールでアップロードして下さい。

もし、example.orgが引っ越しツール(FTP)を持っていたら、それを使っても構いません。

コアサーバーとバリューサーバーには、引っ越しツールがありました。

6. 新サーバへのデータインポート (phpMyAdmin)

新サーバで、”example_org_wpdb.sql”をインポートします。

その前に、新サーバでデータベースを作っておく必要がある思います。

データベースを作った後に、phpMyAdminを立ち上げます。

  1. データベース選択
  2. インポート選択
  3. 「インポートするファイル:」で「アップロードファイル」(“example_org_wpdb.sql”)を選択
  4. 実行で、インポート開始

サーバによっては、アップロードできるファイルサイズが小さい場合があります。その場合は、sqlをgzipで圧縮してからアップロードして下さい。

gzipで圧縮してもファイルサイズの限界を超えてしまっているようでしたら、”example_org_wpdb.sql”を適切な位置で分割する必要があります。

SQL文は、”;”で終わりますので、それを目安にします。

エクスポートする時に、「作成するクエリの最大長」が大きすぎると、#2006のエラーになります。

私も次の方と同じ様に、ロリポップではまりました。情報ありがとうございます。

私は、エクスポートする時に、「作成するクエリの最大長」を50,000にする事で解決できました。

7. 新サーバのwp-config.php書き換え

新サーバ(example.org)側で作ったデータベースユーザ名、データベース名は、元のサーバ(example.com)と違っていると思います。

なので、このままでは、「データベース接続確率エラー」が出て、使えません。

example.orgの、wp-config.phpの、”DB_NAME”, “DB_USER”, “DB_PASSWORD”, “DB_HOST”を書き換えて下さい。

さくらのレンタルサーバーと、ロリポップのレンタルサーバーは、MySQLのサーバが、localhostとは違うので、書き換えが必要です。

また、場合によっては、.htaccessも書き換える必要があるかも知れません。

これで、example.orgに接続して、WordPressが立ち上がれば成功です。

[amazonjs asin="4844329464" locale="JP"]

コメントを残す