我尝试使用Percona Xtrabackup备份MySQL数据目录中的所有InnoDB数据库。
执行以下命令后:
innobackupex --host=127.0.0.1 --port=3306 --user root --password PASSWD --defaults-file=/path/to/my.cnf --slave-info /backup/xtrabackup
此过程似乎已完成,并显示以下日志:
InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona LLC and/or its affiliates 2009-2013. All Rights Reserved.
...
innobackupex: Using mysql server version 5.6.12
innobackupex: Created backup directory /nobackup/xtrabackup/2014-02-24_00-04-21
...
[01] Copying /var/lib/mysql/ibdata1 to /nobackup/xtrabackup/2014-02-24_00-04-21/ibdata1
>> log scanned up to (178807644573)
....
140224 00:05:34 innobackupex: completed OK!
但是,与原始数据库文件相比,结果太小了:
# Source database
# du -sm /var/lib/mysql/
19G /var/lib/mysql/
# Xtrabackup result
# du -sm /nobackup/xtrabackup
455M /nobackup/xtrabackup
我的InnoDB配置(在/path/to/my.cnf
中)如下:
innodb_file_per_table
innodb_file_format=Barracuda
查看执行日志,它显示程序仅复制ibdata1
但不复制其他许多* .idb文件。
我想知道Xtrabackup是否无法处理与innodb_file_per_table
一起存储的数据库。我在其文档中找不到任何提示。
这是真的,还是任何解决方案/想法?
# find /nobackup/xtrabackup
/nobackup/xtrabackup
/nobackup/xtrabackup/2014-02-24_00-04-21
/nobackup/xtrabackup/2014-02-24_00-04-21/xtrabackup_logfile
/nobackup/xtrabackup/2014-02-24_00-04-21/ibdata1
/nobackup/xtrabackup/2014-02-24_00-04-21/xtrabackup_checkpoints
/nobackup/xtrabackup/2014-02-24_00-04-21/backup-my.cnf
/nobackup/xtrabackup/2014-02-24_00-04-21/2014-02-24_00-04-21
/nobackup/xtrabackup/2014-02-24_00-04-21/xtrabackup_binary
答案 0 :(得分:1)
我找到了。
my.cnf
文件未包含datadir=
配置指令。我已将--datadir
选项传递给mysqld
计划,而不是将其放在my.cnf
上。
只需将datadir=
配置添加到my.cnf
即可解决此问题。