mysqldump备份时加single-transaction会不会加锁

MySQLdump --all-databases --master-data=2 --single-transaction --quick -R --events -uroot > /tmp/full.sql
通过根踪可以看到:
8 Connect root@localhost on
8 Query /*!40100 SET @@SQL_MODE='' */
8 Query /*!40103 SET TIME_ZONE='+00:00' */
8 Query FLUSH /*!40101 LOCAL */ TABLES
8 Query FLUSH TABLES WITH READ LOCK
8 Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
8 Query START TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */
8 Query SHOW VARIABLES LIKE 'gtid\_mode'
8 Query SHOW MASTER STATUS
8 Query UNLOCK TABLES
从红色部分可以看出,还是会加锁的,在这个过程中,别的session同样不能进行dml, 只是加锁的时间很短。
使用single-transaction时要求:
1 只对支持事务的存储引擎有效果
2 不能执行ddl操作,因为 ddl操作会改变字典表,而字典表多数是myisam的
3 事务隔离级别为 RR

mysqldump备份时,加和不加single-transaction的区别:
通过打开general_log可以看到过程:
1 加single-transaction时,是通过START TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */的方式来实现的。
  里面同时有很多savepoint,
2 不加single-trsnsaction是通过在整个过程中锁表实现数据一致性的。
左图为加single-transaction,右图未加:

mysqldump备份时加single-transaction会不会加锁

创新互联建站网络公司拥有10多年的成都网站开发建设经验,近千家客户的共同信赖。提供网站设计、成都网站建设、网站开发、网站定制、卖友情链接、建网站、网站搭建、自适应网站建设、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务


当前名称:mysqldump备份时加single-transaction会不会加锁
分享链接:http://bzwzjz.com/article/pseege.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站制作公司 高端网站设计推广 成都网站设计公司 成都网站建设公司 企业手机网站建设 网站建设费用 成都网站制作 成都网站建设公司 重庆网站制作 网站制作 成都响应式网站建设公司 成都网站设计 手机网站建设 定制网站设计 成都网站建设推广 成都网站建设 成都网站建设公司 成都模版网站建设 成都网站建设 教育网站设计方案 重庆外贸网站建设 成都响应式网站建设