其他分享
首页 > 其他分享> > xtrabackup8.0全备过程

xtrabackup8.0全备过程

作者:互联网



欢迎关注MySQL 8.0必知必会系列课程。

    MySQL8.0必知必会-自动化部署              https://edu.51cto.com/course/16368.html

    MySQL8.0必知必会之参数标准化配置       https://edu.51cto.com/course/16358.html


image


1. 实时备份redo log

•xtrabackup开启xtrabackup_log监控线程

•记录开始的LSN,并实时监测redo log文件的变化

•将备份过程中新写入到事务日志中的日志页拷贝至xtrabackup_logfile文件中;

2.拷贝innodb文件

•开启redo log备份后,同时开启xtrabackup拷贝线程,开始拷贝innodb文件。

•拷贝顺序:

•ibdata1, sys_config.ibd, mysql.ibd,以及其他datadir目录的ibd文件

•数据库目录下的ibd,test库、employees、sakila等

•undo文件

3.复制innodb文件结束后,LOCK TABLES FOR BACKUP

•锁定非innodb表

4.拷贝非innodb文件

•拷贝mysql、p_s和其他库下的.frm,.MRG,.MYD,.MYI,.ARM,.ARZ,.CSM,.CSV,.sdi 和.par等类型的文件。

5. 获取LSN和binary log position

•此时文件备份结束,需要获取LSN和binlog位置

•LOCK BINLOG FOR BACKUP

•用于阻止所有可能更改binlog位置的操作

•然后完成复制REDO日志文件并获取binlog坐标

•从p_s.log_status中获取信息

•binlog记录到xtrabackup_binlog_info文件中

•LSN记录到xtrabackup_checkpoints

6.FLUSH NO_WRITE_TO_BINLOG ENGINE LOGS

•关闭并重新打开,已安装存储引擎的任何可刷新日志,不记录到binlog。

•这会导致InnoDB将其日志刷新到磁盘。

7.停止xtrabackup_log线程

8.解锁tables、binlog

9.备份其他信息

•Copying ib_buffer_pool

•Writing backup-my.cnf

•Writing xtrabackup_info


10.binlog位置将打印到STDERR,如果一切正常,xtrabackup将退出返回0。




190125 06:04:43 All tables unlocked
190125 06:04:43 [00] Copying ib_buffer_pool to /home/mysql/xtrabackup/full/ib_buffer_pool
190125 06:04:43 [00]        ...done
190125 06:04:43 Backup created in directory '/home/mysql/xtrabackup/full/'
MySQL binlog position: filename 'binlog.000009', position '195', GTID of the last change 'c04f9267-ddc0-11e8-8f28-000c299deb99:1-386'
190125 06:04:43 [00] Writing /home/mysql/xtrabackup/full/backup-my.cnf
190125 06:04:43 [00]        ...done
190125 06:04:43 [00] Writing /home/mysql/xtrabackup/full/xtrabackup_info
190125 06:04:43 [00]        ...done
xtrabackup: Transaction log of lsn (801020069) to (801020069) was copied.
190125 06:04:43 completed OK!

[mysql@ark ~]$

标签:01,06,04,42,xtrabackup8.0,performance,过程,全备,schema
来源: http://blog.51cto.com/14136767/2347518