read_only 模式下 mysqldump 报错

节点一:
0611-1.png


节点二:
0611-2.png

 

问题描述:有两个不同的节点,版本都是5.7.17,都是read_only 只读模式。在各自节点上进行mysqldump备份时,产生不同的情况。

节点一:
mysqldump --login-path=xxx  -P3306 -A -E -R -F --single-transaction --master-data=2  >/home/backup/fullbak_$(date +%Y%m%d).sql.gz
报错:
mysqldump: Got error: 1290: The MySQL server is running with the --read-only option so it cannot execute this statement when doing refresh
 
节点二:
mysqldump --login-path=xxx -P3306 -A -E -R -F --single-transaction --master-data=2  >/home/backup/fullbak_$(date +%Y%m%d).sql.gz
 
备份正常!
 
两个节点的备份账号权限相同
GRANT SELECT, RELOAD, PROCESS, SHOW DATABASES, LOCK TABLES, EXECUTE, REPLICATION CLIENT, SHOW VIEW, EVENT, TRIGGER ON *.* TO 'xxx'@'localhost'
 
两个节点唯一不同的是,节点一 是GTID复制模式,节点二是非GTID复制模式。节点一赋予super权限后,mysqldump 才不会报错。
 
疑问:
GTID 和非 GTID 模式,在read_only 下对mysqldump 的权限要求不同吗?这里出问题的只要是-F flush log操作。
 
请各位师兄,还有两位老师帮忙解惑一下呗!
不胜感激
 
详细情况截图见附件!
已邀请:

A417-孙海龙

赞同来自:

super权限可以绕过read_only的设置,所以你从库开启read_only还想导出的话,建议给super权限了

要回复问题请先登录注册