WordPress更新時も大活躍!WP-DBmanagerでデータベースバックアップ

WordPress データベースのバックアップと最適化ができるプラグインWP-DBmanagerをコアサーバーに設定した時の手順です。

WordPress本体のアップグレードをする前に、データベースのバックアップが推奨されます。普段していないなら、なおさらバックアップしておきたいです。不慣れな方でも、WP-DBmanagerなら簡単にデータベースをバックアップできます。WordPress3.2.1、WordPress3.3.1及びWordPress3.3.2で作動確認しています。

WP-DBmanager でできること

    • データベースのバックアップ。
    • データベースの最適化。
    • データベースの修復。
    • データベースの復元。
    • バックアップデータのメールによる送信。
    • 上記項目全て、手動でも自動でも可能

WP-DBmanager を利用するメリット

  1. データベースを自動的にメンテナンスできます。データベースのお医者さんが常に働いてくれている感じです。

  2. メンテナンスのみならず、バックアップデータをメールで自動送信してくれます。

  3. 勝手に届くバックアップデータでいつでも過去の正常な状態に復元できます。ドラゴンボールが常に7つそろっていて、シェンロンにいつでも蘇生を頼める感じです。WP-DBmanagerの名称由来は、WordPress Dragon Ball Managerなのかもしれません。

WP-DBmanager の導入

WP-DBmanager の利用設定をした時の具体的な手順です。

インストール

  1. 管理画面のプラグイン > 新規追加を表示します。

    1. 検索窓でWP-DBmanager を入力し
    2.  プラグインの検索 をクリックします。
    3. WP-DBmanagerが検索結果の一番上に表示されます。いますぐインストールをクリックします。
    wp-admin-plugin-install-wp-dbmanager.png
  2. 本当にこのプラグインをインストールしてもいいですか?と問われます。  OK をクリックします。

    wp-admin-plugin-install-checking.png
  3. 接続情報が表示されます。

    1. FTP パスワードを入力し、
    2.  開始 をクリックします。
    wp-admin-plugin-install-wp-dbmanager-2.png
  4. プラグインを有効化をクリックします。

    wp-admin-plugin-install-wp-dbmanager-3.png
  5. 条件付きで有効化できました。具体的には、

    1. プラグインを有効化しました。、しかし
    2. 警告Your backup folder MIGHT be visible to the publicが表示されました。
    wp-admin-plugin-install-wp-dbmanager-4.png
  6. 一応有効化はされているので、現段階で管理画面のサイドバーにDatabaseが追加されています。

    wp-admin-plugin-install-wp-dbmanager-12.png

セキュリティ警告と解決法

  1. 上記、英語による警告部分です。

    Your backup folder MIGHT be visible to the public
    To correct this issue, move the .htaccess file from wp-content/plugins/wp-dbmanager to /virtual/[管理者ID名]/public_html/unmei.in/wp-content/backup-db
    wp-admin-plugin-install-wp-dbmanager-5.png
  2. 日本語に翻訳(意訳)しました。

    バックアップデータを入れるフォルダが外部からも丸見えかも。
    この問題を修正するには、.htaccessファイルを wp-content/plugins/wp-dbmanager から、 /virtual/[管理者ID名]/public_html/unmei.in/wp-content/backup-db に移動させてください。
    要するに、.htaccessファイルを作成してセキュリティを強化して!

.htaccess設置(backup-dbフォルダの所有者がapache)

  1. FFFTPを使って、wp-dbmanagerフォルダごとローカルへダウンロードしました。その際、ローカルWordPressのプラグインフォルダに保存すれば、ローカルWordPressにもwp-dbmanagerのインストールができるので一石二鳥です。

    wp-admin-plugin-install-wp-dbmanager-6.png
  2. backup-db フォルダは自動生成されていました。しかし、

    1. FFFTPで、wp-content/plugins/wp-dbmanager/backup-db へアクセスしようとしたら、
    2. 550 backup-db: No such file or directoryと表示されアクセス不可でした。
    3. なお、幸運にも普通にアクセスできた場合は、次からのいくつかの設定を飛ばし「.htaccess の設置」からご覧できます。
    wp-admin-plugin-install-wp-dbmanager-7.png
  3. 当サイトが利用しているコアサーバーのファイルマネージャーで backup-db フォルダを確認したところ、所有者グループapacheになっていたことが分かりました。これによりアクセス不能でした。

    wp-admin-plugin-install-wp-dbmanager-8.png
  4. コアサーバーのツールを利用し、ファイル所有者を修正します。コントロールパネルのサイドバーにある「ツール」をクリックします。

    wp-admin-plugin-install-wp-dbmanager-9.png
  5. ファイル所有者の修正をクリックします。

    coreserver-control-panel-tool
  6. 3~5分程度でファイル所有者の変更が完了です。

    coreserver-control-panel-tool-fileowner-modified
  7. 次の通り、 .htaccess を設置できるようになります。

    1. まずFFFTPでサーバーの wp-content/backup-db フォルダにアクセスします。
    2. その中にローカルの wp-content/plugins/wp-dbmanager/htaccess.txt ファイルをドラッグしてコピーします。
    3. 名前を .htaccess に変更します。
    wp-admin-plugin-install-wp-dbmanager-11.png

Backup Database のエラーと解決法

  1. WordPress管理画面のサイドバーにあるDatabase > Backup DBを開くと、下図のエラーが表示されるかもしれません。

    • エラー有り:エラーが1つでもあれば下記設定で解決できます。
    • エラー無し:下記設定を省き「Backup Database のエラー改善後」まで飛ばせます。
    wp-dbmanager-backup-database.png

バックアップフォルダの属性を777に変更

  1. Checking Backup Folder
    Backup folder is NOT writable. Please CHMOD it to '777'.(上図1)

    バックアップフォルダの属性をFFFTPなどで「777」に変更すればエラーは改善されます。

DB Options の設定を追加

  1. Checking MYSQL Dump Path ...
    MYSQL dump path does NOT exist. Please check your mysqldump path under DB Options. If uncertain, contact your server administrator.(上図2)

    コアサーバーの場合、Database > DB OptionsPath To mysqldump:の右のテキストボックスに次のパスを入力します。

    /usr/local/mysql/bin/mysqldump
    wp-dbmanager-database-options.png
  2. Checking MYSQL Path ...
    MYSQL path does NOT exist. Please check your mysql path under DB Options. If uncertain, contact your server administrator.(上図3)

    コアサーバーの場合、Database > DB OptionsPath To mysql:の右のテキストボックスに次のパスを入力します。

    /usr/local/mysql/bin/mysql

ルートディレクトリの .htaccess に追記

  1. コアサーバーで上図2と3のエラー改善のために、ルートディレクトリの .htaccess に次のコードを追加し、アップロードします。PHPを部分的にCGIで動かす設定です。(参考:WP-DBManagerのCORESERVER用設定メモ

    
    <files admin.php>
    AddHandler application/x-httpd-phpcgi .php
    </files>
    
    wp-dbmanager-database-options-2.png

Backup Database のエラー改善後

  1. エラーが改善されるとDatabase > Backup DBでは次のとおり表示されます。

    Excellent. You Are Good To Go.
    wp-dbmanager-database-options-3.png

WP-DBManager 日本語化

  1. WP-DBManager を日本語表示にする方法は、次のページで確認できます。2011年12月17日現在の内容です。

WP-DBManager で手動バックアップ

バックアップファイルを作成

  1. 管理画面のDatabase > Backup DBを表示します。

    1. GZIP Database Backup File?Yesを選択します。gzip形式で圧縮する設定です。
    2.  Backup をクリックします。
    wp-dbmanager-backup-database-2.png
  2. 次の通り表示され、バックアップ完了です。

    Database Backed Up Successfully.
    wp-dbmanager-backup-database-3.png

ローカルに保存

  1. 管理画面のDatabase > Manage Backup DBを表示します。

    1. まず、Selectで管理したいDatabase Fileを選択します。後は操作したいボタンをクリックするだけです。
    2. Download:ダウンロードできます。
    3. Restore:復元できます。
    4. Delete:削除できます。
    5. Cancel:特に操作はせず、キャンセルします。
    6. E-Mail:テキストボックスのメールアドレス宛にバックアップファイルを送信します。
    7. メールで送信すると表示されるメッセージです。
    wp-dbmanager-manage-backup-database-5.png
  2. FFFTPでもローカルに保存できます。wp-content/plugins/wp-dbmanager/backup-db 内にバックアップデータがgzip形式で保存されています。それをローカルフォルダにドラッグします。

    wp-dbmanager-backup-database-4.png
  3. gzipファイルの圧縮率を確認しました。16%に圧縮されているということは、圧縮しなければ6.25倍の容量が必要になったわけです(100 ÷ 16 = 6.25)。

    wp-dbmanager-backup-database-5.png

データベースを手動で最適化

  1. 管理画面のDatabase > Optimize DBを表示します。

    1. 特に選択する部分などなく、 Optimize をクリックするだけです。
    2. 最適化が完了すると表示されるメッセージです。
    wp-dbmanager-optimize-databese.png

データベースを手動で修復

  1. 管理画面のDatabase > Repair DBを表示します。

    1. 修復したいテーブルを選択し、 Repair をクリックするだけです。
    2. 修復が完了すると表示されるメッセージです。
    wp-dbmanager-repair-database.png

自動でデータベースのバックアップ・最適化・修復

自動化設定

  1. WP-DBmanagerを導入すべき最大の理由はこの機能にあります。今まで長々と説明がありましたが、正直なところこれだけで十分な気もします。

  2. 管理画面のDatabase > DB Optionsを表示します。

    1. Automatic Schedulingまで画面をスクロールします。
    2. Automatic Backing Up Of DB:自動でバックアップする期間とそのファイルを送信するメールアドレスの設定です。メール欄を空白にすると送信されません。
    3. Automatic Optimizing Of DB:自動で最適化する期間の設定です。
    4. Automatic Repairing Of DB:自動で修復する期間の設定です。
    5. それぞれの期間を個別に設定できます。また、自動操作を利用しない場合はDisableを選択します。
    6. 設定を変更したら、 Save Changes をクリックし、設定を保存します。
    wp-dbmanager-database-options-automatic-scheduling.png

メール添付のバックアップファイルの容量が0バイト

  1. コアサーバーをご利用の場合、バックアップファイルをメールで自動送信するように設定しても、送られてくるメールの添付ファイルの容量がゼロの場合があります。

  2. 容量がゼロということは、バックアップできていないということです。

  3. 対処方法は、WordPress をインストールしたルートフォルダ(ルート)の .htaccess に次のコードを書き足します。

    
    <files wp-cron.php>
    AddHandler application/x-httpd-phpcgi .php
    </files>
    

XAMPPで運用しているローカルWordPressでの設定

  1. 基本的には上述した設定方法と同じですが、当環境で確認した相違点は次のとおりです。

    • mysqlのパスがデフォルトのままだとエラー(下記の通り解決可能)
    • gz形式ではバックアップ不可(解決方法未調査)
  2. Database > Backup DBでmysqlのパスエラーを確認できます。

    wp-dbmanager-local.png
  3. Database > DB Optionsを表示すると、デフォルトの誤っているパスを確認できます。なお、XAMPPをD:\apフォルダ内に設置している場合です。ルートにXAMPPを設置している場合のパスは太字の部分のみかと思います。

    • Path To mysqldump:
      /ap/xampp/mysqlbin/mysqldump.exe(注意:誤っているパスです。)
    • Path To mysql:
      /ap/xampp/mysqlbin/mysql.exe(注意:誤っているパスです。)
    wp-dbmanager-local-2.png
  4. 次のとおり適切なパスを設定します。それぞれのmysqlbinの間にスラッシュを加え、 Save Changes をクリックすれば完了です。

    • Path To mysqldump:
      /ap/xampp/mysql/bin/mysqldump.exe
    • Path To mysql:
      /ap/xampp/mysql/bin/mysql.exe
    wp-dbmanager-local-3.png
  5. Database > Backup DBで適切なパスが設定できているのを確認できます。

    wp-dbmanager-local-4.png

他サイトの参考になるページへのリンクです。日付は各ページの公開日もしくは最終更新日です(2011年12月現在)。ありがとうございます。