一、全部数据库
备份:全库备份
innobackupex --user=root --password=root --defaults-file=/etc/mysql/my.cnf /data/mysql_backup/full_backup
二、指定数据库
备份:
假如我们要备份test数据库。
innobackupex --user=root --password=root --defaults-file=/etc/mysql/my.cnf --databases="test" /data/test_backup/
这样就会在/data/test_backup生成一个带时间的目录,如果不需要带时间,可以使用选项–no-timestamp。
如果想备份成压缩文件,可以使用如下语句:
#(未测试) innobackupex --user=root --password=root --defaults-file=/etc/mysql/my.cnf --databases="test" --no-timestamp --stream=tar ./ | gzip - > test.tar.gz #(实测可用) innobackupex --defaults-file=/etc/my.cnf --user=root --host=127.0.0.1 --password='' --databases="test" --slave-info --safe-slave-backup --stream=tar /data/innobackup/ > /data/innobackup/test.tar.gz
参数:
–slave-info这个参数在对从数据库进行备份时使用,可以保存主数据库当前的二进制文件和偏移量。这样可以减轻主数据库因备份二压力过大。其他参数自行查看。需要注意的是,你的数据库超时设定会对备份有影响。在备份结束的时候快要结束的时候,有时候可能会因为你的数据库连接超时而中断,造成备份失败。所以把数据库超时设定加大才好,不要过短。
innobackupex --defaults-file=/data/mysql/my.cnf --user=root --host=172.168.1.51 --password=horizoompassword --slave-info --safe-slave-backup --stream=tar /data/innobackup/ > /data/innobackup/fullbackup.tar.gz tar -ixf test.tar.gz -C /data/innobackup/test innobackupex --apply-log --redo-only /data/innobackup/test
推荐用完全备份。
4.14数据恢复
注意:需要指定配置文件,否则找不到要还原的目录
代码如下:
innobackupex --defaults-file=/usr/my.cnf --copy-back /data/innobackup/2018-09-12-11-03-04/
–copy-back数据库恢复,后面跟上备份目录的位置