バックアップ · 2 min read · Feb 10, 2026

MySQLのバックアップと復元 - Debian Sargeでのmysql-zrm - ページ5

11 増分バックアップ

mysql-zrmは増分バックアップも行うことができますが、いくつか問題がありました。まず、MySQLが/bin-logsを/var/lib/mysqlに書き込むように設定する必要がありました(/etc/mysql/my.cnfを編集)なぜなら、mysql-zrmはそこにそれらを期待しているからです。その後、

mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 1

はうまくいったようですが、

mysql-zrm --action parse-binlogs --source-directory=/var/lib/mysql --backup-set dailyrun

はエラーを返しました:

| Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305. INFO: mysql-zrm-version ERROR: cannot open index file /var/lib/mysql/index No such file or directory |

そのため、今のところは増分バックアップではなく、フルバックアップを行う方が良いと思います。

12 リモートバックアップ

mysql-zrmは、ネットワーク経由でリモートMySQLサーバーからバックアップを行うこともできます。しかし、これもいくつかの問題を引き起こしました。

12.1 最初の試み

最初の試みでは、リモートのSuSE 10.0システム上のMySQLサーバーのバックアップ(生の形式)を行いたいと思いました。/etc/mysql-zrm/mysql-zrm.confを編集し、リモートユーザー、パスワード、ホスト名を入力してから、次のコマンドを実行しました。

mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0

結果は次の通りです:

Logging to /var/log/mysql-zrm/mysql-zrm-scheduler.log  
Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305.  
INFO: mysql-zrm-version  
WARNING: Binary logging is off. Incremental and logical backup will not work.  
INFO: backup-set=dailyrun  
INFO: backup-date=20060927095528  
INFO: backup-date-epoch=1159343728  
INFO: mysql-version=4.1.13  
INFO: backup-directory=/var/lib/mysql-zrm/dailyrun/20060927095528  
INFO: backup-level=0  
WARNING: Database test is empty and hence will not be backedup  
WARNING: Database tmp is empty and hence will not be backedup  
ERROR: Output of command: 'mysqlhotcopy' is  
DBI connect(';host=192.168.0.163;mysql_read_default_group=mysqlhotcopy','root',...) failed: Client does not support authentication protocol requested by server; consider upgrading MySQL client at /usr/bin/mysqlhotcopy line 182  
ERROR: mysqlhotcopy command did not succeed.  
Command used is mysqlhotcopy --quiet --user=root --password=*** --host=192.168.0.163 db_ispconfig mysql "/var/lib/mysql-zrm/dailyrun/20060927095528" > /tmp/4Z75iIAeo5 2>&1  
Return value is 65280  
INFO: backup-status=Backup failed  
INFO: Backup failed  
ERROR: /usr/bin/mysql-zrm did not finish successfully

これは、両方のシステムで異なるMySQLバージョンが原因だと思います。

12.2 二回目の試み

二回目の試みでは、リモートのDebian Sargeサーバー上のMySQLデータベースのバックアップ(再び生の形式)を行いたいと思いました。ローカルとリモートの両方のシステムで同じMySQLバージョンがありました。次のコマンドを実行しました。

mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0

そして、次のエラーが表示されました:

Logging to /var/log/mysql-zrm/mysql-zrm-scheduler.log  
Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305.  
INFO: mysql-zrm-version  
INFO: backup-set=dailyrun  
INFO: backup-date=20060927100653  
INFO: backup-date-epoch=1159344413  
INFO: mysql-version=4.1.11-Debian_4sarge7-log  
INFO: backup-directory=/var/lib/mysql-zrm/dailyrun/20060927100653  
INFO: backup-level=0  
WARNING: Database test is empty and hence will not be backedup  
ERROR: Output of command: 'mysqlhotcopy' is  
Cannot open dir '/var/lib/mysql/web34_db1': No such file or directory at /usr/bin/mysqlhotcopy line 293.  
ERROR: mysqlhotcopy command did not succeed.  
Command used is mysqlhotcopy --quiet --user=root --password=*** --host=192.168.0.110 mysql web34_db1 "/var/lib/mysql-zrm/dailyrun/20060927100653" > /tmp/yxFsViAlbm 2>&1  
Return value is 512  
INFO: backup-status=Backup failed  
INFO: Backup failed  
ERROR: /usr/bin/mysql-zrm did not finish successfully

ローカルシステム上でリモートシステムのデータベースの一つである/var/lib/mysql/web34_db1ディレクトリが欠けているようでした!そこで、次のコマンドで作成しました:

mkdir /var/lib/mysql/web34_db1

そして再度、

mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0

を実行したところ、今回は成功しましたが、これが本来の方法であるかどうかは疑問です…

12.3 三回目の試み

今回は、前回と同じリモートDebian Sargeシステムからバックアップを行おうとしましたが、生の形式ではなく論理形式で行いました。次のコマンドを実行しました。

mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0

そして、次のエラーが表示されました:

Logging to /var/log/mysql-zrm/mysql-zrm-scheduler.log  
Use of uninitialized value in concatenation (.) or string at /usr/bin/mysql-zrm line 1305.  
INFO: mysql-zrm-version  
WARNING: Binary logging is off. Incremental and logical backup will not work.  
INFO: backup-set=dailyrun  
INFO: backup-date=20060927095501  
INFO: backup-date-epoch=1159343701  
INFO: mysql-version=4.1.13  
INFO: backup-directory=/var/lib/mysql-zrm/dailyrun/20060927095501  
INFO: backup-level=0  
ERROR: Binary logging is off. Logical backup cannot be done  
INFO: backup-status=Backup failed  
INFO: Backup failed  
ERROR: /usr/bin/mysql-zrm did not finish successfully

しかし、今回は通常の動作です。なぜなら、リモートの論理バックアップにはMySQLがSSLで設定されている必要があるためです。残念ながら、Debian SargeのMySQLパッケージにはSSLサポートがありません:

mysqld --ssl --help
060927 12:26:09 [ERROR] mysqld: unknown option '--ssl'

MySQLシェルにログインしました:

mysql -u root -p

そして、次のコマンドを実行しました:

SHOW VARIABLES LIKE 'have_openssl';

同じ結果が得られました:

| +---------------+-------+ | Variable_name | Value | +---------------+-------+ | have_openssl | NO | +---------------+-------+ 1 row in set (0.01 sec) |

SSLサポートがありません…

13 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。