修改my.ini文件后mysql无法启动及关闭only_full_group_by

1、mysql5.7修改my.ini文件后mysql无法启动

以管理员的身份运行cmd,将目录切换至mysql安装目录的bin目录下
1、输入命令: net start mysql
在长时间的等待后,提示mysql服务器无法启动,见图1

图1
修改my.ini文件后mysql无法启动及关闭only_full_group_by_第1张图片
2、输入命令:mysqld.exe – console
提示报错,说my.ini配置文件有问题,报错信息见图2
图2
在这里插入图片描述
3、原因及解决办法
原因:my.ini文件在更改后编码被保存为UTF-8格式了
解决办法:将my.ini文件另存为,另存为的时候选择编码格式为ANSI

2、关闭only_full_group_by

1、方法一(该方法在服务重启后将失效,须重新配置才能重新生效)

先启动并连接数据库,然后执行下面两个语句

set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

然后重启项目(缺点是mysql服务重启后该配置将失效,须重新配置才能生效)
下面这个语句可以查看sql_mode有那些值

select @@sql_mode
2、方法二(这个方法在重启服务后也会生效)

windows系统下,修改my.ini,在[mysqld] 下面添加下面代码(注意my.ini保存的编码格式为ANSI

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

如图
修改my.ini文件后mysql无法启动及关闭only_full_group_by_第2张图片

你可能感兴趣的:(mysql)