mysql8 安装无my.ini配置文件和执行groupBy报错修改sql_mode不生效的解决方案

 

1.首先安装完mysql8.0.21 后,在 programdata 下发现了 my.ini 但发现改了参数文件重启都不剩生效,解决办法

1)默认安装到c盘会自动隐藏,记得打开隐藏文件找到他,如果没有的话再找找,就像我,在programdata 下找到一个,可以试试重启一下看看生效吗

2)在mysql的安装目录下新建my.ini文件,新建好直接重启即可

 

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\Program Files\MySQL\MySQL Server 8.0
# 设置mysql数据库的数据的存放目录
datadir=C:\Program Files\MySQL\MySQL Server 8.0\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password

#导出限制
secure-file-priv=""

#事件开启
event_scheduler=on

#二进制
log_bin=D:/log/binlog
binlog_expire_logs_seconds = 4860000
max_binlog_size = 100M
binlog_format=statement

#通用日志
general_log=1
general_log_file=D:\log\pc.log

#慢查询日志
slow_query_log = on
slow_query_log_file=D:\log\slow.log
long_query_time = 300
log_queries_not_using_indexes = on

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4

[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

然后  mysqld --defaults-file="C:\install\mysql\mysql-8.0.16-winx64\my.ini"   修改使用的配置文件,然后重启服务即可,可用 show variables like '%datadir%'  验证

2.报错[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

1网上的解决方案都是修改sql_mode 但是因为我的my.ini没有这个文件,怎么改都不生效,如果您也遇到同样的问题记得先把第一步操作了,重新启动mysq

2)在添加my.ini文件的时候就把sql_mode参数添加进去

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

3)该方法若mysql重启则失效

mysql中执行 show variables like '%sql_mode';

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值