カテゴリー
WordPress

【WordPress】【環境】【場当たり対処方法】BackWPup で MySQL データベースのバックアップができていない問題!

公式のサポート書き込み羅列。2013年3月4日時点、 BackWPup (バージョンは 3.0.2)でデータベースのバックアップができていない PHP、MySQL バージョン

  • 共有サーバ、PHP 5.3.21、MySQL 5.5.29-cll、セーフモードはオフ、 mysqli インストール済み、 WordPress 3.5.1.
  • CentOS 6、 PHP 5.4.11-1、 MySQL 5.5.30-1
  • 専用サーバ、PHP 5.3.22、MySQL 5.5.30-cll
  • CentOS 6、 PHP 5.3.20、 MySQL 5.5.29
  • CentOS 5.9、 PHP 5.4.12 (cli)、 MySQL 5.5.30 ← わたくしの環境

ちなみに、原文はこうです。

  • Shared hosting, php 5.3.21, mysql 5.5.29-cll, safe mode off, mysqli installed, WP 3.5.1.
  • CentOS 6, php 5.4.11-1, mysql 5.5.30-1
  • Dedicated server, PHP version 5.3.22, MySQL version 5.5.30-cll
  • CentOS 6, php 5.3.20 mysql 5.5.29

公式のサポートページでこれだけの環境で MySQL のバックアップができないと報告が挙がっており、プラグイン製作者さまも次のように、直したからもうちょっと待って!とおっしゃっていますので、すぐに修正されることと思います。

i will have chanded the method to detect charset and hops that fix it.

Thanks a lot for using BackWPup and I’m glad I was able to help.

【とりあえず】もうガマンできない!わたくしのための対処方法【場当たり的】

が、次のページのように腕に覚えのある方は自己責任でプラグインを直に修正し、次のバージョンアップまで凌ぐのもよいですね。素晴らしい情報ありがとうございます!!!!!!!!!!

わたくしもやってみました。

# まずバックアップをとります。
cp -ap /var/www/html/oki2a24.com/wp-content/plugins/backwpup/inc/class-mysqldump.php /var/www/html/oki2a24.com/wp-content/plugins/backwpup/inc/class-mysqldump.php.org
# BackWPup プラグインの次のソースを修正します。
vim /var/www/html/oki2a24.com/wp-content/plugins/backwpup/inc/class-mysqldump.php

「$this->mysqli->get_charset()->charset」を「utf8」へ置換するだけです。vim 上では次のようなコマンドになります。

:%s/$this->mysqli->get_charset()->charset/"utf8"/g

解説です。文字コードの指定をサーバの環境情報から取ってくるのではなく、直に書いてあげています。では、なにを指定すればよいかといえば utf-8 なのです。その根拠は簡単で、wp-config.php で次のように指定しているからです。

/** データベースのテーブルを作成する際のデータベースのキャラクターセット */
define('DB_CHARSET', 'utf8');

もし別のキャラクターセットを設定している場合は、そちらに合わせたほうが良いと思いますが、未検証です。

【結果】実際にバックアップしてみました

問題なく、データベースバックアップ出来ました。ログです。ちょっと「STRICT NOTICE」が気になりますけれども今まで出ていたエラー「PHP Fatal error: Call to undefined method mysqli::get_charset()」も起きていません。

[INFO] BackWPup version 3.0.2; WordPress version 3.5.1; A project of Inpsyde GmbH developed by Daniel Hüsken
[INFO] This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions.
[INFO] BackWPup job: Dropbox BackWPup; DBDUMP+FILE
[INFO] BackWPup cron: 10 5 * * *; 日, 3 3月 2013 @ 05:10
[INFO] BackWPup job started from wp-cron
[INFO] PHP ver.: 5.4.12; apache2handler; Linux
[INFO] Maximum script execution time is 30 seconds
[INFO] MySQL ver.: 5.5.30
[INFO] curl ver.: 7.21.7; OpenSSL/0.9.8b
[INFO] Temp folder is: /var/www/html/oki2a24.com/wp-content/uploads/backwpup-47354-temp/
[INFO] Logfile folder is: /var/www/html/oki2a24.com/wp-content/backwpup-47354-logs/
[INFO] Backup type is: archive
[INFO] Backup file is: /var/www/html/oki2a24.com/wp-content/uploads/backwpup-47354-temp/backwpup_1_2013-03-04_21-53-13.zip
[04-3月-2013 21:53:13] 1. Try for database dump …
[04-3月-2013 21:53:13] Connected to database wordpressdb on localhost
[04-3月-2013 21:53:13] Dump database table "wordpress_commentmeta"
[04-3月-2013 21:53:13] Dump database table "wordpress_comments"
[04-3月-2013 21:53:14] Dump database table "wordpress_links"
[04-3月-2013 21:53:14] Dump database table "wordpress_options"
[04-3月-2013 21:53:14] Dump database table "wordpress_postmeta"
[04-3月-2013 21:53:14] Dump database table "wordpress_posts"
[04-3月-2013 21:53:15] Dump database table "wordpress_term_relationships"
[04-3月-2013 21:53:16] Dump database table "wordpress_term_taxonomy"
[04-3月-2013 21:53:16] Dump database table "wordpress_terms"
[04-3月-2013 21:53:16] Dump database table "wordpress_usermeta"
[04-3月-2013 21:53:16] Dump database table "wordpress_users"
[04-3月-2013 21:53:16] Dump database table "wordpress_yarpp_related_cache"
[04-3月-2013 21:53:16] Added database dump "wordpressdb.sql" with 8.41 MB to backup file list
[04-3月-2013 21:53:16] Database dump done!
[04-3月-2013 21:53:17] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::Create() should be compatible with OpenCloud\PersistentObject::Create($params = Array)
[04-3月-2013 21:53:17] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::Update() should be compatible with OpenCloud\PersistentObject::Update($params = Array)
[04-3月-2013 21:53:17] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::Delete() should be compatible with OpenCloud\PersistentObject::Delete()
[04-3月-2013 21:53:17] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::UpdateJson() should be compatible with OpenCloud\PersistentObject::UpdateJson($params = Array)
[04-3月-2013 21:53:17] 1. Trying to make a list of folders to back up …
[04-3月-2013 21:53:17] 561 folders to back up.
[04-3月-2013 21:53:18] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::Create() should be compatible with OpenCloud\PersistentObject::Create($params = Array)
[04-3月-2013 21:53:18] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::Update() should be compatible with OpenCloud\PersistentObject::Update($params = Array)
[04-3月-2013 21:53:18] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::Delete() should be compatible with OpenCloud\PersistentObject::Delete()
[04-3月-2013 21:53:18] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::UpdateJson() should be compatible with OpenCloud\PersistentObject::UpdateJson($params = Array)
[04-3月-2013 21:53:18] 1. Trying to create backup archive …
[04-3月-2013 21:59:55] Backup archive created.
[04-3月-2013 21:59:55] Archive size is 78.06 MB.
[04-3月-2013 21:59:55] 4380 Files with 110.92 MB in Archive.
[04-3月-2013 21:59:57] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::Create() should be compatible with OpenCloud\PersistentObject::Create($params = Array)
[04-3月-2013 21:59:57] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::Update() should be compatible with OpenCloud\PersistentObject::Update($params = Array)
[04-3月-2013 21:59:57] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::Delete() should be compatible with OpenCloud\PersistentObject::Delete()
[04-3月-2013 21:59:57] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::UpdateJson() should be compatible with OpenCloud\PersistentObject::UpdateJson($params = Array)
[04-3月-2013 21:59:57] 1. Try to send backup file to Dropbox …
[04-3月-2013 21:59:58] Authenticated with Dropbox from DropboxUser (dropboxuser@example.com)
[04-3月-2013 21:59:58] 9.31 GB free on Dropbox
[04-3月-2013 21:59:58] Upload to Dropbox now started …
[04-3月-2013 22:05:25] Backup transferred to https://api-content.dropbox.com/1/files/sandbox/BackWPup/backwpup_1_2013-03-04_21-53-13.zip
[04-3月-2013 22:05:27] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::Create() should be compatible with OpenCloud\PersistentObject::Create($params = Array)
[04-3月-2013 22:05:27] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::Update() should be compatible with OpenCloud\PersistentObject::Update($params = Array)
[04-3月-2013 22:05:27] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::Delete() should be compatible with OpenCloud\PersistentObject::Delete()
[04-3月-2013 22:05:27] STRICT NOTICE: Declaration of OpenCloud\DNS\PtrRecord::UpdateJson() should be compatible with OpenCloud\PersistentObject::UpdateJson($params = Array)
[04-3月-2013 22:05:27] One old log deleted
[04-3月-2013 22:05:27] Job done in 734 seconds.

また、データベースのバックアップファイルも覗いてみましたが、文字化け等も発生しておらず、問題無さそうです。もちろん、今までできていたファイルのバックアップも大丈夫そうです。

スクリーンショット_2013-03-04_22.15.51.png

おわりに

この BackWPup はマシンパワーを非常に使いますけれども、本当に素晴らしいプラグインですのでバグが修正されるのが楽しみです。

こちらのプラグインページ、サポートページも適度にチェックしたいと思います。日本語のフォーラムでも、同じ話題がございましたので、合わせて紹介いたします。

以上です。

コメントを残す