我有一个生产 percona master-master 集群。辅助主服务器有一个复制错误,并且使用 pt-table-sync,我正在尝试同步主服务器。看起来 binlog_format="STATEMENT" 对于任何同步操作都是必需的。以下是 pt-table-sync 错误
pt-table-sync --verbose --dry-run --sync-to-master h=,u=root,p=,D=,t=
失败 / !50108 SET @@binlog_format := 'STATEMENT' /: DBD::mysql::db do failed: Access denied; 在 /usr/local/bin/pt-table-sync 行,您需要(至少一个)超级权限才能执行此操作 [for Statement "/ !50108 SET @@binlog_format := 'STATEMENT' /"] 10827。
此工具需要 binlog_format=STATEMENT,但当前 binlog_format 设置为 MIXED,并且在尝试更改时出错。如果运行 MySQL 5.1.29 或更新版本,设置 binlog_format 需要 SUPER 权限。在运行此工具之前,您需要手动将 binlog_format 设置为“STATEMENT”。由于 DESTROY 没有 DBD::mysql::db 句柄 enablen_aws;host= 的显式 disconnect() 而发出 rollback() 。. . ;mysql_read_default_group=client 在 /usr/local/bin/pt-table-sync 第 10830 行。
由于这是生产集群,有没有办法让 pt-table-scan 在不完全停止复制的情况下工作?在两个主服务器上手动更新 binlog_format 会影响相应从服务器上的复制吗?
感谢帮助。