注意:部分备份之后不建议使用增量备份
备份
备份test数据库中的所有表【可以使用正则】
xtrabackup --backup --datadir=/var/lib/mysql --target-dir=/data/backups/ \
--tables="^test[.].*"
备份test数据库中的test1表【可以使用正则】
xtrabackup --backup --datadir=/var/lib/mysql --target-dir=/data/backups/ \
--tables="^test[.].test1"
备份多个表【不可以使用正则】
cat >/tmp/tables.txt<<EOF
mydatabase.mytable1
mydatabase.mytable2
EOF
xtrabackup --backup --tables-file=/tmp/tables.txt
备份多个数据库
xtrabackup --backup --datadir=/var/lib/mysql --target-dir=/data/backups/ \
--databases='mysql sys performance_schema test'
#也可以用文件的形式
cat >/tmp/databases.txt<<EOF
mysql
sys
performance_schema
test
EOF
xtrabackup --backup -–databases-file=/tmp/databases.txt
恢复
准备备份
xtrabackup --prepare --export --target-dir=/data/backups/
这里不能使用copy-back,只能手动导入表
停止服务,并将备份中的表转到数据目录,比如
systemctl stop mysql
mkdir /var/lib/mysql/test
cp -r /data/backups/test/test1.ibd /var/lib/mysql/test
chown -R mysql:mysql /var/lib/mysql/test