小编cja*_*ell的帖子

仅在 Linux 上针对 AWS RDS“刷新表”错误的 mysqldump

我有一个使用 mysqldump 从 AWS RDS MariaDB 导出数据的流程,该流程已在 Concourse 上的 docker-image 中成功运行多年。

从两天前开始,该过程开始失败并出现以下错误:

mysqldump: Couldn't execute 'FLUSH TABLES WITH READ LOCK': Access denied for user 'admin'@'%' (using password: YES) (1045)
Run Code Online (Sandbox Code Playgroud)

AWS的官方解释似乎是,因为它们不允许主用户或全局读锁的超级权限,所以如果设置了 --master-data 选项,mysqldump 就会失败。

我没有设置该选项。我正在使用这些标志运行:

mysqldump -h ${SOURCE_DB_HOST} ${SOURCE_CREDENTIALS} ${SOURCE_DB_NAME} --single-transaction --compress | grep -v '^SET .*;$' > /tmp/dump.sql
Run Code Online (Sandbox Code Playgroud)

从我的本地 Mac 执行时 mysqldump 工作正常。它失败并出现错误,无法仅从 Linux 环境执行 FLUSH TABLES WITH READ LOCK。

我的问题是,有谁知道如何在 Linux 上的 mysqldump 中禁用 FLUSH TABLES WITH READ LOCK 命令?

编辑:很高兴接受下面的 @sergey-payu 答案,因为它已经解决了我的问题,但这里有一个 MySQL 错误报告的链接,以供遇到此问题的其他人使用https://bugs.mysql.com/bug.php? id=109685

linux amazon-rds mariadb

30
推荐指数
3
解决办法
2万
查看次数

标签 统计

amazon-rds ×1

linux ×1

mariadb ×1