语句兼容问题

mysql5.7默认开启only_full_group_by,为了兼容以前的sql语句,需要将mysql.ini(my.ini)中sql_mode的only_full_group_by删除。
不推荐直接在数据库中修改配置文件缓存,因为再重启数据库后悔重新加载,则需要重新删除。
如果安装在C盘的: 我们要进入 C:\ProgramData\MySQL\MySQL Server 5.7 此目录即可看到my.ini

配置文件

mysql.ini(my.ini在免安装版本中由自己创建)
windows 7环境下在安装版本中默认为C:\ProgramData\MySQL\MySQL Server 5.7目录下
mysql.ini基本内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[client]
port=3306
default-character-set=utf8

[mysqld]
# 设置为自己MYSQL的安装目录
basedir=C:\Program Files (x86)\MySQL\mysql-5.7.20-win32
# 设置为MYSQL的数据目录
datadir=C:\Program Files (x86)\MySQL\mysql-5.7.20-win32\data
port=3306
character_set_server=utf8
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#开启查询缓存
explicit_defaults_for_timestamp=true
skip-grant-tables

配置文件无效方法

Mysql会默认装载my.ini,但是需要该文件在指定的文件夹下
使用mysqld --verbose -help命令可以查看加载顺序,如若无法加载到任何配置文件是,会返回提示
此时将需要加载的my.ini放在指定文件夹下,重新执行此命令,即可将此配置文件加入配置加载项中