备份工具:
xtrabackup
全量备份原理。
0.启动innobackup
1.启动 xtraback_log 后台进程。发现有redo日志写入,就写入文件xtraback_log;
2.cp innodb.ibd
3.flush tables with read lock;
4.cp myisam 表。
5.unlock tables;
6.cp xtrabackup log;
7.stop innobackup;
xtrabackup 恢复过程分为两个过程。
1.prepare:主要是回滚未提交的事务及同步已经提交的事务,使得数据文件处于一致性状态。
主要通过apply-log选项实现,最终会重构出相关的redo,ibdata文件。
2.copyback阶段会把所有的文件都复制到指定的目录下,启动服务。
mysqlbackup;
1.备份。
mysqlbackup --socke=/tmp/mysql.sock --port=3306 --backup-dir=/data/backup backup
2.应用日志,做一致性处理。
mysqlbackup --socke=/tmp/mysql.sock --port=3306 --backup-dir=/data/backup apply-log
3.拷贝文件到数据目录。
mysqlbackup --socke=/tmp/mysql.sock --port=3306 --backup-dir=/data/backup --innodb_log_files_in_group=2 --datadir=/data/mysql3306 copy-back