innobackupex --rsync 报错 Error: can't create file (null)/xtra_MySQL
innobackupex /backup --rsync --user=xx --password=xxx 备份时报错:
Error: can't create file (null)/xtrabackup_rsyncfiles_pass1
网上搜索没有找到答案,于是向官方报告 bug ,发现已经有人汇报了该bug:
https://bugs.launchpad.net/percona-xtrabackup/+bug/1511701
Bug Description
After latest update xtrabackup to 2.3.2 my backup scripts stop working.
Problem in "--rsync" argument. With it in half of "copying X to Y" xtrabackup exit with error message:
~~
can't create file (null)/xtrabackup rsync files pass1
~~
With previous builds all was fine.
Problem command line:
~~
innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=`cat /root/passwords/.mysql` --no-timestamp --throttle=40 --rsync /var/backups/separate_disk/mysql/${WEEK_DAY_NUMBER}f 2>&1
~~
If remove "--rsync" - all work without errors.
P.S. and previous versions uses "root" as default user name. Now it use "mysql" if in command line didn't defined "--user". (Back incompatibility)
Add tags Tag help
Sergei Glushchenko (sergei.glushchenko) wrote on 2015-10-30: #1
Would specifying --tmpdir=/tmp (or other directory) resolve the rsync issue?
Maxim (sailormax) wrote on 2015-11-01: #2
yes.
Sergei Glushchenko (sergei.glushchenko) wrote on 2015-11-09: #3
We'll set tmpdir to system/user default when it is not specified.
Changed in percona-xtrabackup:
status: New → Triaged
importance: Undecided → High
解决办法:
在使用 --rsync 选项时,需要增加 --tmpdir=/tmp 选择,来指定 xtrabackup_rsyncfiles_pass1 临时文件的存储位置:
innobackupex /backup/ --rsync --tmpdir=/tmp --user=xxx --password=xxx