mysql5.7关掉ONLY

【DNS网络服务器IP详细地址-网站域名申请注册查寻-CDN加快技术性】 DNS网络服务器IP详细地址,网站域名申请注册,CDN加快技术性,linux,web网络服务器,SRE,微服务,DevOps,运维管理

mysql5.7之上版本号在常会报有关only_full_group_by的不正确,能够在sql_mode中关掉他,在网上搜索的处理方法根据实践活动后发觉一些不祥细,重要地区说的不清晰,有的一些不正确,自身处理以后在这里里小结一下。


实际操作系统软件:Linux
mysql版本号:5.7.26
查询
进到mysql 查询mysql版本号:select version();


运作SELECT @@GLOBAL.sql_mode;和SELECT @@SESSION.sql_mode;查询sql_model主要参数,能看到主要参数中有ONLY_FULL_GROUP_BY,


ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
1
2
临时性除去ONLY_FULL_GROUP_BY
由于这类方法从参照材料上去看仅仅临时性除去,因此,我并沒有试着,这儿列举处理方法:


set @@GLOBAL.sql_mode=
set sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
1
2
改动配备文档除去ONLY_FULL_GROUP_BY
这类方法就是我实践活动的方法,我详尽说一下:


在[mysqld]中加上编码
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
1
在网上有许多材料提到这一段编码在[mysql]中也同时加上,此外一些写着加上內容为 “set sql_mode XXXX”历经我还在自身设备上认证,发觉全是不好的,只有在[mysqld]加上,不然会导致mysql没法联接


+ +
| STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+ +
1 row in set (0.00 sec)


mysql SELECT @@GLOBAL.sql_mode;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect…
Connection id: 2
Current database: *** NONE ***


+ +
| STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+ +
1 row in set (0.00 sec)


mysql SELECT @@GLOBAL.sql_mode;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect…
Connection id: 2
Current database: *** NONE ***


+ +
| STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+ +
1 row in set (0.00 sec)