- 原理
- 步骤
- 参数
- 备份时间
- 优缺点
原理
- 模拟creash recovery
- start xtrabackup log(备份 redo log 可以多 但是不能少 所以先备份)
- copy ibd,ibdata1 备份数据文件(备份数据文件,时间上占大头)
- flush table with read lock 禁止写入,一个短暂的一致性
- copy frm myd myi misc files 如果 myisam表不是很多的话时间很快
- get binlog position 得到binlog 位置点
- unlock tables 解锁
- stop xtrabackup log 停止
操作
- 备份: innodbbackupex -S /temp/mysql3306.sock -uroot -pwy1121 /data/backup/
- 恢复: 相当于应用重做日志过程 innodbbackupex –apply-log /data/backup/2017-09-13_10-10-12
要看 有没有completed OK! 有的话备份基本没问题 - 新实例启动: 删除需要恢复实例的datadir目录,手工把刚刚apply的文件拷贝过去,或者 innodbbackupex –defaults-file=/etc/my.cnf –copy-back /data/2017-09-13_10-10-12
- 更改权限 chown -R mysql:mysql /data/mysql/mysql3306/
- 启动mysql
参数
- 文件自己命名 : 备份步骤需要加入 –no-timestmp
- 打包备份:innodbbackupex -S /tmp/mysql3306.cnf -uroot -pwy1121 –stream=tar ./>/data/db.tar
- 压缩备份:打包备份:innodbbackupex -S /tmp/mysql3306.cnf -uroot -pwy1121 –stream=tar ./ |gzip - >/data/db.tar
- 基于ssh远程备份(已经做好shh信任,不输密码的) innodbbackupex -S /tmp/mysql3306.cnf -uroot -pwy1121 –stream=tar ./ | ssh root@wya “cat - > /data/backup/db.tar”
时间
备份时间:
比如5点备份,回复到5:10分状态,则备份的是5:10一致性数据
也就是creash recovery的执行重做日志到的时间
优缺点
物理备份:xtrabackup
优点:
1. 基于文件的物理备份
2. 容易跨平台、跨操作系统和MySQL版本
3. 恢复起来会更快(不需要执行任何的mysql语句,不需要构建索引,innoDB表无需完全缓存到内存)
缺点:
1. 文件大,因为有文件和索引
2. 跨平台能力差