XtraBackup全备工作流程解读与总结

  

背景

  

出于对XtraBackup工作原理好奇,做了下面的日志解读

  

备份输出日志解读

  
 <代码> [root@node1 09:23:35/根)
  #时间innobackupex——defaults-file=/数据/mysql/mysql3306/my3306.cnf - s/tmp/mysql3306。袜子-uroot -plmlm/数据/备份/180525年09:24:24 innobackupex:启动备份操作
  #开始备份操作
  #为什么使用innobackupex,因为5.7及以前版本,mysql表是myisam引擎表,innobackupex可以备份所有引擎表
  重要:请检查备份运行成功完成。
  最后一次成功的备份innobackupex运行
  打印“完成好的!”。
  #重要提示:请检查备份运行是否成功完成。
  #在成功的备份运行结束时,innobackupex会打印“完成好的!”,也就是完成状态是好的。
  180525年09:24:24 version_check连接到MySQL服务器DSN的dbi: MySQL; mysql_read_default_group=xtrabackup;港口=3306;mysql_socket=/tmp/mysql3306。袜子的“根”(使用密码:是的)。
  #版本检查:使用DSN连接到MySQL服务器,DSN是数据源名称,也就是连接数据库需要的参数。
  180525年09:24:24 version_check连接到MySQL服务器
  180525年09:24:24 version_check执行版本检查服务器……
  #对服务器执行版本检查
  180525年09:24:24 version_check完成。
  180525年09:24:24连接到MySQL服务器主机:localhost,用户:根,密码:设置,端口:3306年,套接字:/tmp/mysql3306.sock
  使用服务器版本5.7.22-log
  #连接到MySQL服务器,使用的参数是:主机=localhost,用户=root密码=使用命令行输入的,但不打印进日志;
  端口=3306,套接字=/tmp/mysql3306.sock,使用的版本是5.7.22
  基于MySQL服务器innobackupex 2.4.11 5.7.19 Linux (x86_64)(修订id: b4e0db5)
  # innobackupex版本是2.4.11,是基于64位Linux的5.7.19版本的MySQL服务器
  xtrabackup:使用posix_fadvise ()。
  # xtrabckup:使用posix_fadvise()函数,这是程序的函数入口?
  xtrabackup: cd/数据/mysql/mysql3306/数据
  # xtrabckup: cd到/数据/mysql/mysql3306/数据目录下
  xtrabackup: 65535年打开的文件限制要求,设置为65535
  # xtrabckup:打开文件请求限制65535年,设置为65535
  使用以下InnoDB xtrabackup:配置:
  # xtrabckup:使用以下InnoDB配置信息
  xtrabackup: innodb_data_home_dir=?
  #设置innodb数据的存放目录为当前目录
  xtrabackup: innodb_data_file_path=ibdata1:100M: autoextend
  #设置innodb共享表空间文件的个数和初始分配大小值,autoextend是自动扩展
  xtrabackup: innodb_log_group_home_dir=/#设置innodb日志文件的存放目录为当前目录(和。/是等效的)
  xtrabackup: innodb_log_files_in_group=3
  #设置innodb日志文件的个数为3
  xtrabackup: innodb_log_file_size=104857600
  #设置innodb日志文件的大小为100米
  xtrabackup:使用O_DIRECT
  #使用无缓存的输入,输出
  InnoDB:池数量:1
  #备份的线程是1个,还是线程池吗?不太明白
  ,180525年09:24:24祝辞的在日志扫描(2643241)
  #从2643241字节开始扫描日志
  xtrabackup:生成一个表空间列表
  #生成表空间列表
  InnoDB:分配表空间ID 2 mysql/插件,老最大的是0
  #为mysql/插件分配的表空间ID 2,旧的最大值为0
  180525年09:24:25[01]复制。/ibdata1/数据/备份/2018 - 05 - 25 - _09 24 - 24/ibdata1
  180525年09:24:25 [01]…
  #首先完成ibdata1的拷贝,这是存放innodb引擎表的元数据信息
  180525年09:24:25[01]复制。/mysql/插件。炎症性肠?数据/备份/2018 - 05 - 25 - _09 - 24 - 24/mysql/plugin.ibd
  180525年09:24:25 [01]…
  #接着完成一堆ibd文件的拷贝,也就是innodb引擎表的数据和索引
  180525年09:24:25[01]复制。/mysql/服务器。炎症性肠?数据/备份/2018 - 05 - 25 - _09 - 24 - 24/mysql/servers.ibd
  180525年09:24:25 [01]…
  .....省略部分输出……
  180525年09:24:25[01]复制。/db1/tb1。炎症性肠?数据/备份/2018 - 05 - 25 - _09 - 24 - 24/db1/tb1.ibd
  180525年09:24:25 [01]…
  ,180525年09:24:25祝辞的在日志扫描(2643241)
  #日志扫描到2643241
  180525年09:24:26执行冲洗NO_WRITE_TO_BINLOG表……
  #执行刷新表的语句,作用是关闭所有打开的表,但是不记录到二进制日志里面
  180525 09:24:26执行刷新表读锁……
  #执行FTWRL操作,对整个实例施加只读锁,只能读,不能写
  #实际他做的是关闭所有表,使用全局读锁来锁定所有数据库的所有表。
  180525年09:24:26开始备份non-InnoDB表和文件
  #开始备份非innodb引擎表和文件,这里主要是为了备份mysql库,系统库和performance_schema库,因为该库下的表都是myisam引擎表
  #性能模式收集数据库服务器性能参数,并且表的存储引擎均为PERFORMANCE_SCHEMA
  180525年09:24:26[01]复制。/mysql/db。选择/数据/备份/2018 - 05 - 25 - 24/mysql/db.opt _09 - 24
  180525年09:24:26 [01]…
  .....省略部分输出……
  180525年09:24:26[01]复制。/performance_schema/session_status.frm/数据/备份/2018 - 05 - 25 - 24/performance_schema/session_status.frm _09 - 24
  180525年09:24:26 [01]…
  180525年09:24:26完成备份non-InnoDB表和文件
  #完成非innodb引擎表和文件的备份
  180525年09:24:26[00]写/数据/备份/2018 - 05 - 25 - _09 24 - 24/xtrabackup_binlog_info
  #往xtrabackup_binlog_info写入信息,也就是GTID执行过的值和binlog的位点信息
  180525年09:24:26 [00]…
  180525年09:24:26执行冲洗NO_WRITE_TO_BINLOG引擎日志……
  #执行胆汁,但不记录到二进制日志
  #为已安装的存储引擎关闭和重新打开任何可刷新的日志。这是因为,InnoDB会把日志刷新到磁盘。
  xtrabackup:最新的检查要点(增量):“2643232”
  #有关自增的最后一个检查点是2643232
  xtrabackup:停止日志复制线程。
  #停止日志拷贝线程
  .180525 09:24:26祝辞祝辞日志扫描(2643241)
  #日志扫描到2643241字节
  180525年09:24:26执行解锁表
  #执行打开表,也就是是否全局读锁
  180525年所有表09:24:26解锁
  #所有的表解锁
  180525年09:24:26 [00]ib_buffer_pool复制到/数据/备份/2018 - 05 - 25 - _09 24 - 24/ib_buffer_pool
  180525年09:24:26 [00]…
  #拷贝内存中的数据到相应的备份文件中
  180525 09:24:26备份目录中创建/数据/备份/2018 - 05 - 25 - _09 - 24 - 24/#备份创建在/数据/备份/2018 - 05 - 25 - _09 - 24 - 24/目录里面
  MySQL binlog位置:mysql-bin文件名。000012”,位置”194”,GTID最后改变的81 c310cb - 5428 - 11 - e8 - 8 c27 080027801684:1 - 21”
  #打印出备份结束位点信息和执行过的GTID信息
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null

XtraBackup全备工作流程解读与总结