MyDumper 多线程并行全量备份,以其无可比拟的性能优势广泛用于线上数据库的MySQL 备份,当然也可用于 percona db, tidb 等等。
mydumper 详细介绍请参考github地址
问题
在MySQL使用mydumper备份过程中, 发现如下图所示的问题
数据库报警导致主从复制延迟超出阈值引发报警, 业务数据表 (innodb)引擎无法执行insert.
原因
因为mydumper持有 FTWRL(FLUSH TABLES WITH READ LOCK), mydumper启动的时候导致业务方数据的所有读写都必须等待全局读锁释放.
解决
查看 mydumper-0.9.5 版本 源码
# line 153