【 TiDB 使用环境】生产环境
【 TiDB 版本】5.2.2
【复现路径】
【遇到的问题:问题现象及影响】
主库:MySQL 5.7
从库:tidb
主从同步:DM 增量同步
问题现象:一天凌晨用户无法写入数据,未通知技术处理,没了现场。
排查:
1、发现数据备份比平时慢很多倍数。
2、研发查代码,没有执行过全局或表相关锁。
3、怀疑是否和tidb有关,dm同步会不会造成全局锁或表锁
【资源配置】
【附件:截图/日志/监控】
DM 对接的账号是 root ?
不是root但是拥有所有权限账号:GRANT ALL PRIVILEGES ON .
你从账号就可以判断拉
好的,多谢,我查一下
当时源库是不是启的有mysqldump的备份任务?
是的,有备份任务,分析是大概是当时有事务执行,正好备份,互相影响了
DM只会在全量同步时候,会调用dumpling的代码来备份数据,在增量同步时候,是不会加锁的,可以相当于一个从库而已
备份时候对MySQL而言,是和mydumper类似,只在dump innodb表结构和MyISAM表时候,短暂加一下锁,其他时间是不会堵塞读的。(不过如果正好有一个慢查询或者长时间没有提交的事务时候,确实会堵塞所有表的读写很长时间)。
就你截图的例子,LOCK TABLES,应该是mysqldump引起的,mysqldump默认会对表加锁,建议改下备份参数。
PS:备份前一定要检查有没有慢查询,否则很容易搞出来个metadata lock,阻塞所有读取
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。