400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

mysqldump与innobackupex备份过程你知多少(一)

沃趣科技  罗小波

导语

成都创新互联主要从事网站设计制作、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务永清,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

1、先看MySQLdump
1.1. mysqldump备份过程解读
1.2. mysqldump备份过程中的关键步骤
      1.2.1. FLUSH TABLES和FLUSH TABLES WITH READ LOCK的区别
      1.2.2. 修改隔离级别的作用
      1.2.3. 使用WITH CONSISTENT SNAPSHOT子句的作用
      1.2.4. 使用savepoint来设置回滚点的作用
1.3. mysqldump有什么坑吗?
      1.3.1. 坑一
      1.3.2. 坑二
      1.3.3. 有办法改善这这些问题吗?
2、现在看innobackupex
2.1. innobackupex备份过程解读
2.2. innobackupex为什么需要这么做
2.3. innobackupex有什么坑吗?
3、总  结

导  读

想必搞数据库的都知道:

要查看备份过程中这俩备份工具都对数据库做了什么操作,想必大家都知道:可以打开general_log来查。那么问题来了,general_log输出的信息都代表什么?如果不这样做会怎样?这两个备份工具会不会有什么平时被忽略的坑?请看下文分析,也许……你会发现原来之前对这俩备份工具好像也不是那么了解!

环境信息

mysqldump与innobackupex备份过程你知多少(一)

mysqldump与innobackupex备份过程你知多少(一)

1、先看mysqldump

1.1.mysqldump备份过程解读

通常,使用mysqldump备份期间,为了使得数据库中加锁时间尽量短,会使用--single-transaction选项来开启一个一致性快照事务,为了使得备份期间能够获得一个与数据一致的binlog pos点,会使用--master-data选项,现在登录A库主机,使用这俩选项执行备份演示。

mysqldump与innobackupex备份过程你知多少(一)

mysqldump与innobackupex备份过程你知多少(一)DNSKiarzh0eAmdiclS8EPKIh45V5BfWGN8uNj1Q/0">

mysqldump与innobackupex备份过程你知多少(一)

mysqldump与innobackupex备份过程你知多少(一)

mysqldump与innobackupex备份过程你知多少(一)

查看strace抓取的调用栈信息,限于篇幅,详见为知笔记链接:

上面的strace信息是不是看起来和general_log中的信息很像啊?因为general_log中记录的就是mysqldump发送过去的sql语句:

1.2. mysqldump备份过程中的关键步骤

1.2.1. FLUSH TABLES和FLUSH TABLES WITH READ LOCK的区别

1.2.2. 修改隔离级别的作用

为什么要执行SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ语句呢?因为后续需要使用START TRANSACTION /!40100 WITH CONSISTENT SNAPSHOT语句开启一个一致性事务快照,根据事务一致性读要求,一致性事务快照只支持RR隔离级别,在其他隔离级别下执行语句START TRANSACTION /!40100 WITH CONSISTENT SNAPSHOT会报如下警告信息:

mysqldump与innobackupex备份过程你知多少(一)

限于篇幅,本文将分期进行推送,下一篇"mysqldump与innobackupex备份过程你知多少(二)"我们将接着介绍"mysqldump备份过程中的关键步骤"之"使用WITH CONSISTENT SNAPSHOT子句的作用"与"使用savepoint来设置回滚点的作用",精彩内容不容错过,敬请期待!!


本文标题:mysqldump与innobackupex备份过程你知多少(一)
网站网址:http://mbwzsj.com/article/pspjsp.html

其他资讯

让你的专属顾问为你服务