WordPressバージョン
Column変更とかあるかもしれないのでバージョンも記載
Version:4.9.5
手順
仕事で移行する事があったのでメモ
1,2についてはあまりハマらないと思うので省略します。
- Git管理しているファイル一式を新サーバでPull
- Git管理ベストプラクティスについてはこちら
- wp-config.phpの設定
- DBを移行する
- 移行後にDBの値を書き換える
- uploadsを移行する
DBの移行
既存のDBをdumpする
$ mysqldump -u USER_NAME -p -h HOST_NAME DB_NAME > OUTPUT_FILE_NAME
移行先でDBを作成する
※文字コードは移行前に合わせた方がよいかも
$ mysql -u USER_NAME -p HOST_NAME
> CREATE DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
移行先でimportする
$ mysql -u USER_NAME -p DB_NAME < IMPORT_FILE_NAME
DBの値を書き換え
ドメイン情報をDBに保持しているため書き換える必要がある
※DB情報はwp-config.phpに書いてあるためそこを参照すること
-- 事故防止
START TRANSACTION;
UPDATE wp_options SET option_value=REPLACE(option_value, "移行前ドメイン", "移行後ドメイン") WHERE option_name IN ('siteurl', 'home');
UPDATE wp_posts SET guid=REPLACE(guid, "移行前ドメイン名", "移行後ドメイン名");
-- SELECTして大丈夫なら
COMMIT;
-- SELECTして失敗してたら
ROLLBACK;
ファイルの移動
移行前圧縮
$ tar -zcvf uploads.tar.gz uploads
ファイル移動
$ scp ./uploads.tar.gz user_name@host_name:~/
移行後解凍
$ tar -zxvf uploads.tar.gz
あとはmvして終わり