mysqldump,Xtrabackup备份原理

mysqldump备份(全备)的过程

1.关闭所有打开的表(flush table)

2.添加一个全局读锁(flush table with read lock)

3.修改当前会话的事物隔离级别为RR

4.开启一个事务(--single-transaction),获取当前数据库快照

5.SHOW MASTER STATS(--master-data),记录备份开始时位置点信息

6.备份非innodb的表(备份整个实例时才会有这一步操作)

7.非innodb表备份完成后,释放FTWRL锁(unlock tables)

8.依次备份innodb的表

9.提交,备份完成

数据一致性时间点:备份开始时

 

Xtrabackup备份的过程

1.关闭所有的表

2.开启redo日志拷贝线程,从最新的检查点开始顺序拷贝redo日志;

3.开启idb文件拷贝线程,拷贝innodb表的数据

4.idb文件拷贝结束,通知调用FTWRL,获取一致性位点

5.备份非innodb表(系统表)和frm文件

6.由于此时没有新事务提交,等待redo日志拷贝完成

7.最新的redo日志拷贝完成后,相当于此时的innodb表和非innodb表数据都是最新的

8.获取binlog位点,此时数据库的状态是一致的。

9.释放锁,备份结束。

数据一致性时间点:备份结束时

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mysqldumpxtrabackup是两种不同的备份工具,它们有一些区别。 1. 实现原理mysqldump是一种逻辑备份工具,通过将数据表导出为SQL脚本的方式进行备份。它会执行SELECT语句来获取表的数据,并将结果写入到一个SQL文件中。而xtrabackup是一种物理备份工具,它通过直接复制InnoDB存储引擎的数据文件和日志文件来进行备份。这种方式更快速,也更节省空间。 2. 备份级别:mysqldump可以备份整个数据库或者指定的表,也可以备份特定的数据行。它可以选择性地备份不同的数据库对象。而xtrabackup则更适合备份整个MySQL实例,包括所有的数据库和表。 3. 数据一致性:mysqldump备份过程中,如果有其他用户正在修改表的数据,备份的数据可能不是一个完全一致的状态。这可能会导致备份数据的一部分是旧数据。而xtrabackup备份时使用了事务日志,可以保证备份的数据是一个一致性的状态。 4. 恢复速度:由于mysqldump是逻辑备份,恢复数据的速度相对较慢。需要执行导出的SQL脚本来还原数据。而xtrabackup是物理备份,可以直接将备份文件拷贝到新的MySQL实例中,并启动该实例来恢复数据,恢复速度更快。 综上所述,mysqldump适合备份和恢复特定的表或行数据,并且可以进行逻辑分析。而xtrabackup适合备份整个MySQL实例,速度更快且恢复更方便。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [xtrabackup vs mysqldump](https://blog.csdn.net/weixin_43541262/article/details/106660485)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Mysql备份mysqldumpXtrabackup](https://blog.csdn.net/liyangxueit/article/details/105530396)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值