我在我的环境中使用pt-table同步,我使用下面的命令进行同步。
/percona-toolkit/2.2.7/bin/pt-table-同步-执行同步到主-非唯一-检查-无检查子表-无外键-检查-数据库=dbname h=localhost -uroot -ppwd -P 3306
错过匹配的数据同步但得到以下消息,
组列的混合(MIN()、MAX()、COUNT()、.)如果在本地主机上执行macaddress时,没有GROUP BY子句用于语句“从dbname.tablename01 ORDER BY macaddress中选择最大(长度(tablename01))”,则不存在组列。
我想确认这些发生的原因是由于MySQL服务器中的一些配置错误,或者我的表中出现了一些错误,或者我错过了使用pt-table-sync的一些开关。
或者是pt表同步中的一个bug?
发布于 2014-07-18 18:22:53
谢谢巴玛尔,这澄清了我的疑虑,帮助我解决了这个问题。
实际上,在my.cnf sql_mode中包含了ONLY_FULL_GROUP_BY,这就是我为什么要面对percona table-sync问题的原因。
我使用set全局sql_mode简单地从主服务器和从服务器禁用它,并删除这个变量"ONLY_FULL_GROUP_BY“,并运行pt-table-sync,它就开始工作了。
谢谢你为我指明了正确的方向。
https://stackoverflow.com/questions/24818549
复制相似问题