[FAQ] dm 同步阿里云 rds dump 阶段失败,报错:Couldn’t acquire LOCK TABLES FOR BACKUP, snapshots will not be consistent: Access denied; you need (at least one of) the SUPER privilege(s) for this operation。

【问题澄清】

  • 备份用户权限:SELECT
  • 通过 mydumper 工具将上游 rds 导入 tidb 报错:

Couldn’t acquire LOCK TABLES FOR BACKUP, snapshots will not be consistent: Access denied; you need (at least one of) the SUPER privilege(s) for this operation。

【解决方案】

  • Mydumper 操作对象为 RDS 时,可以添加 --no-locks 参数,避免申请 reload 权限。可以通过以下命令详细了解该参数:
    ./tidb-enterprise-tools-nightly-linux-amd64/bin/mydumper --help|grep no-locks

【文章阅读】

【经典案例】

这个情况我也遇到了,是在阿里云5.6版本的RDS上出现的,在5.7的RDS版本上是不会出现这个问题的。

5.6与5.7授权范围和大小相同,如下

GRANT SELECT, RELOAD, REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW ON . TO ‘tidb_dm’@‘192.%’

reload权限在2个版本里都给过了,但5.6存在问题,5.7不存在这个问题。

所以根因应该是版本兼容性问题吧,不是reload权限问题吧 。