yuu_nkjm blog
2013-03-10(Sun) [長年日記] 編集
[WordPress][MySQL] BackWPupを使ったWordpressの複製backwpup_db_restore.php未使用版
データベースのdump
BackWPupなどでDBをdumpする.手動でやっても良い.
#エクスポートとインポートでコマンドが違うことに注意. mysqldump -u root wporiginaldb > wporiginaldb`date +"%Y-%m-%d-%H%M%S"`.sql
コピー先データベースの作成
mysql -u root -p #コピー先のデータベースを作成 create database wpcopiedhostdb; #コピー先のデータベースをWordpress用のMySQLユーザで操作する権限を与える grant all on wpcopiedhostdb.* to 'wpadmin'@'localhost' IDENTIFIED BY 'passwd'; exit
新しいSite URLとHomeを指定
これまでと異なるURLにWordPressを設置するなら,以下を変更する.
vi wpcopiedhostdb.sql (1, 'siteurl', 'http://***.***.org', 'yes'), (37, 'home', 'http://***.***.org', 'yes'),
コピー先データベースへのデータのインポート
# コピー先のデータベースにBackWPupなどでバックアップしたSQLデータを書き込む mysql -u wpadmin -p --default-character-set=utf8 wpcopiedhostdb < wporiginaldb.sql
ファイルのコピー
WordPressの関連ファイルを,WordPressを設置したいディレクトリに全てコピーする.wp-config.phpのDBの指定をコピー先のデータベースに変更する.
vi wp-config.php define('DB_NAME', 'wpcopiedhostdb')
これでおしまい.
なお,データベースを複数作らずに,sqlファイル内のテーブル名を変更する方法も試してみたが,正常動作まで行き着かなかった.ほとんどの機能が動いている様だったが,管理画面(wp-admin)を表示すると「このページにアクセスするための十分なアクセス権がありません。」となってしまった.上述の様に新しいデータベースにコピーするのが簡単そう.