AmazonEC2で、WordPressのMySQLをバックアップ

2010/02/01

WordPressのデータベース、MySQLをバックアップするには
有名な「wp-db-backup」というプラグインがありますが、
mysqlコマンドを使ってバックアップ→復元する方法を試してみました!
Webデザイナーのくせに、あたしってば勇敢!


MySQLをバックアップ(保存)する

  1. AmazonEC2へSSHログイン
    # ssh -i EC2key.pem root@ec2-XXXX.amazonaws.com
  2. MySQLディレクトリに移動する(私の場合 /vol/lib/mysql)
    # cd /vol/lib/mysql
  3. MySQLを停止する
    # /etc/init.d/mysql stop
  4. MySQLをバックアップする
    # mysqldump -u root -pパスワード DB名 > 適当なファイル名.sql
    (例) mysqldump -u root -pPASSWORD WP01 > WP01_Backup.sql
    「WP01」というデータベースを
    「WP01_Backup.sql」というファイル名で保存する。
    -pとパスワードの間にスペースはいれちゃダメ!
  5. バックアップをとるだけならこれで終了。MySQLを再起動
    # /etc/init.d/mysql start
  6. MySQLディレクトリの中を確認する
    # ls
    「WP01_Backup.sql」が表示されていればOK



MySQLを復元(リストア)する

  1. AmazonEC2へSSHログイン
    # ssh -i EC2key.pem root@ec2-XXXX.amazonaws.com
  2. MySQLディレクトリに移動する(私の場合 vol/lib/mysql)
    # cd /vol/lib/mysql
  3. 復元したいファイルを確認する
    # ls
    「WP01_Backup.sql」があればOK
  4. MySQLを停止する
    # /etc/init.d/mysql stop
  5. MySQLのrootユーザになる
    # mysql -u root -p
  6. MySQLのrootのパスワードを聞かれるので…
    Enter password: rootのパスワード
  7. 新しいデータベースを作成する(例:WP02)
    mysql > create database WP02;
  8. データベースが作成されたか確認する
    mysql > SHOW DATABASES;
    +--------------------+
    | Database |
    +--------------------+
    | WP02 |
    +--------------------+
  9. MySQLモードを終了する
    mysql > ¥q
  10. Linuxに戻ったら…
    # mysql -u root -pパスワード DB名 > 復元ファイル.sql
    (例) mysql -u root -pPASSWORD WP02 > WP01_Backup.sql
    「WP01_Backup.sql」というファイルを
    「WP02」というデータベース名で復元する。
    ここでも、-pとパスワードの間にスペースはいれちゃダメ。
  11. MySQLをスタートする
    # /etc/init.d/mysql start

完璧っ!! (・∀・)


サーバ乗り換え&WordPressを移行なら…
旧サーバで「mysqldump」して「.sqlファイル」をFTPでダウンロード。


新サーバの「mysql」ディレクトリに、
「.sqlファイル」をFTPでアップロードして、新しいDB作成。
最後に「mysql -u root -pパスワード DB名 > 適当なファイル名.sql」すればOK。

これさえ覚えておけば、WordPressのお引っ越しも楽勝ですね!

Post to Twitter

コメントを投稿する