设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 手机 数据 公司
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysqldump备份时如何保持数据的一致性

发布时间:2022-06-28 12:14 所属栏目:115 来源:互联网
导读:mysqldump对不同类型的存储引擎,内部实现也不一样。主要是针对两种类型的存储引擎:支持事务的存储引擎(如InnoDB)和不支持事务的存储引擎(如MyISAM),下面分别看看这两种存储引擎的实现: 1、对于支持事务的引擎如InnoDB,参数上是在备份的时候加上--si
  mysqldump对不同类型的存储引擎,内部实现也不一样。主要是针对两种类型的存储引擎:支持事务的存储引擎(如InnoDB)和不支持事务的存储引擎(如MyISAM),下面分别看看这两种存储引擎的实现:
 
  1、对于支持事务的引擎如InnoDB,参数上是在备份的时候加上--single-transaction保证数据一致性
 
  --single-transaction实际上通过做了下面两个操作:
 
  1).在开始的时候把该session的事务隔离级别设置成repeatable read;
 
  2).然后启动一个事务(执行begin),备份结束的时候结束该事务(执行commit)
 
  有了这两个操作,在备份过程中,该session读到的数据都是启动备份时的数据(同一个点)。可以理解为对于innodb引擎来说加了该参数,备份开始时就已经把要备份的数据定下来了,备份过程中的提交的事务时是看不到的,也不会备份进去。

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读