移動元、移動先の双方でシェルアカウントを持っている場合、WordPressで作ったサイトを別サーバに移動するには以下のようにする。
同一サーバ内で移動するときは、データベースを書き出したり読み込んだりする必要はない。
1. データベースのバックアップを取る
% mysqldump database_name -u user_name -p > backup_file
としてデータベースをbackup_fileにバックアップする。
2. サイトに新しいURLを登録する
WordPressサイト管理メニューの[設定]→[一般]で[WordPress のアドレス (URL)]に新しいURLを入力し[変更を保存]ボタンを押す。
3. データベースを書き出す
バックアップを取ったときと同様にmysqldumpでデータベースの内容を書き出す。
% mysqldump database_name -u user_name -p > dump_file
4. サイトをアーカイブする
テーマのスタイルファイルなどを編集しているのでサイト全体を新しいサーバに持って行く。
% cd /home/user_name % tar cvzf site.tar.gz public_html
5. サイトを展開する
移動先のサーバでアーカイブしたファイルを展開する。
% cd /home/user_name % tar xvzf site.tar.gz
6. データベースを作成
移動先のサーバでデータベースとアカウントを作成する。
サイト全体を移動したので同じデータベース名、ユーザ名、パスワードだとwp-config.phpを編集する必要がない。
% mysql -u root -p mysql> create database database_name; mysql> grant all on database_name.* 'user_name'@'localhost' identified by 'pass';
7. データベースを復元
移動元のMySQLサーバから書き出したファイルを移動先のMySQLサーバに読み込む。
mysqldumpが書き出すデータはSQL文なので、作成したデータベースに流し込むだけでよい。
%mysql database_name -u user_name -p < dump_file