xtrabackup(innobackupex)与innodb_file_per_table(Barracuda)一起正常工作吗?

时间:2014-02-23 16:12:15

标签: mysql innodb database-backups

使用Percona Xtrabackup尝试备份

我尝试使用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

Xtrabackup可以使用innodb_file_per_table处理数据库吗?

我的InnoDB配置(在/path/to/my.cnf中)如下:

innodb_file_per_table
innodb_file_format=Barracuda

查看执行日志,它显示程序仅复制ibdata1但不复制其他许多* .idb文件。

我想知道Xtrabackup是否无法处理与innodb_file_per_table一起存储的数据库。我在其文档中找不到任何提示。

这是真的,还是任何解决方案/想法?

编辑1:结果似乎没有被压缩

# 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

1 个答案:

答案 0 :(得分:1)

我找到了。

my.cnf文件未包含datadir=配置指令。我已将--datadir选项传递给mysqld计划,而不是将其放在my.cnf上。

只需将datadir=配置添加到my.cnf即可解决此问题。

相关问题