当前位置:  开发笔记 > 后端 > 正文

Mysqldump - 单个事务选项

如何解决《Mysqldump-单个事务选项》经验,为你挑选了1个好方法。

有人可以解释mysqldump 如何--single-transaction实际用于事务表,如InnoDB?我已经阅读了官方文档,但仍然没有胶水.它是按照表锁而不是全局锁--lock-tables执行的吗?此外,mysqldump --opt作为默认选项运行,其中包括--lock-tables,但它们是互斥的,--single-transaction如上面的文档链接中所述.在单个mysqldump命令中使用--skip-opt时我应该使用吗? --single-transaction

我需要转储大小为~700 Gb的InnoDB表,我正在寻找正确的命令来实现这个目标.目前我使用以下一个:

 mysqldump -B my_db --quick --single-transaction --max_allowed_packet=512M --compress --order-by-primary

提前致谢.



1> Rick James..:

--single-transaction说"在转储过程中InnoDB表没有发生的变化将包含在转储中".因此,有效地,转储是转储启动瞬间数据库的快照,无论转储需要多长时间.

由于锁的交互方式,这会降低表的速度,甚至可能会停止写入.例如,考虑运行ALTER TABLEDROP TABLE转储期间,以及同一个表上的其他操作.

--lock-tables 对MyISAM表很有用.

--opt通常建议.我认为它独立于上述选项.

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有