首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分组列的percona pt-table同步消息混合(MIN()、MAX()、COUNT()、.)如果没有GROUP BY子句,则列是非法的。

分组列的percona pt-table同步消息混合(MIN()、MAX()、COUNT()、.)如果没有GROUP BY子句,则列是非法的。
EN

Stack Overflow用户
提问于 2014-07-18 06:31:39
回答 1查看 316关注 0票数 0

我在我的环境中使用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?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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,它就开始工作了。

谢谢你为我指明了正确的方向。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24818549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档