乱雑モックアップにはWordPress Database Backup(*1)をインストールしてあって、毎週gmailにデータベースのバックアップが届くようになっているんだけど
それを使って復元した事が一度も無い、というより復元の仕方がよく判らない。
これじゃあ、いざって時に危ないので自分なりに調べて練習してみる事にする。
(*1 WordPress Database Backupは、データベースを定期的に自動バックアップして、そのデータを指定したメールアドレスへ送信出来るプラグイン)
以下、自分なりの解釈なので、表現や手順に間違いがあるかもしれないですけどメモ。
バックアップ
バックアップが必要なのは、データベース(MySQLから)とファイル(FTPから)の2種類。
まずファイルのバックアップ、
WordPressをアップしてあるディレクトリの中身をFTPで全ゲットしておく。
テーマやプラグインやcss、jsは
ローカルに保存されているので大丈夫だろうけど、
アップロードした画像(wp-content/uploadsにあるやつ)は
名前が変わっているのもあるので。
データベースのバックアップ
前述のWordPress Database Backupを使ってバックアップするとなぜか中身が2KBのsqlしか吐き出してもらえなかったので
phpMyAdminを使ってバックアップをとることにする。
参考:データベースのバックアップ – WordPress Codex 日本語版
phpMyAdminにアクセスして
WordPressのデータベースを選択、この場合はchiro2
エクスポートをクリック。
左側 / 吐き出すテーブルと形式を選択
wp-config.php内のtable_prefixで決めた接頭辞を持つのがWordPressのテーブル。
wp-config.php
右側オプションとデータ
さくらインターネットだとDROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT を追加のチェックが外れてるのでチェック。
データベースのバックアップ完了
インストールと復元
今回はローカルのxamppにインストールしたWordPressに復元してみる。
移管する時やドメインを変更する時と同じようなイメージ。
バックアップしたファイル類を適当なフォルダに保存して
前回覚えたてのバーチャルホストを設定
参考:サイトルート相対パスとDreamweaverとバーチャルドメイン(バーチャルホスト?)
_wpって名前にしたとして次へ。
ちなみにWordPress.com Statsを使っている場合
1つのAPIキーで別々のサイトに設置した事になってしまうとマズいので
stats.phpは削除したほうがいいかも。
それかphpMyAdminから削除するとか
(statsや自分のAPIキーで検索するとそれらしいのが出てくる)
localhostのphpMyAdminにアクセスして
バックアップしたデータベースと同名のデータベースを作成する。
(xamppやphpMyAdminのパスワードを忘れた場合の確認方法:http://localhost の “xampp user” に対するユーザ名とパスワードを入力してください)
変更ナシならここは飛ばして次の
wp_optionsをクリックしたら
option_nameがsiteurlとhomenの行を探す(siteurlは一番上でhomeは2ページ目にあった)。
それか検索タブからblogのアドレスを検索。
エクスポートしたサイトのアドレスが入っているので
インポートするサイトのアドレス(http://_wp/)に変更する。
siteurlを変更しないままログインすると
エクスポートしたWordPressの管理画面に飛んじゃう。
上で変更したのは 管理画面の[設定] – [一般設定]の以下の部分
- WordPress のアドレス (URL)
- サイトのアドレス (URL)
wp-config.phpを新しい環境に合わせて編集
/ WordPressのルートディレクトリにある、コメントがあるから大丈夫。
[php classname=”php-sh”]
/** WordPress のデータベース名 */
define(‘WP_CACHE’, true); //Added by WP-Cache Manager
define(‘DB_NAME’, ‘chiro2’);
/** MySQL のユーザー名 */
define(‘DB_USER’, ‘example’);
/** MySQL のパスワード */
define(‘DB_PASSWORD’, ‘example’);
/** MySQL のホスト名 (ほとんどの場合変更する必要はありません。) */
define(‘DB_HOST’, ‘localhost’);
/** データベーステーブルのキャラクターセット (ほとんどの場合変更する必要はありません。) */
define(‘DB_CHARSET’, ‘utf8’);
[/php]
_wp/wp-adminにアクセスしてログイン
ちゃんと復元できてるか確認
大丈夫かな?
コメント