告诉你如何修改mac下mysql的配置文件

mysql教程 2023年7月5日 1.14K

之前我用brew安装了一个mysql,最近导入数据时报错,想要修改mysql的配置文件 my.cnf,但是无论怎么修改都不成功,通过查找资料,原来需要做以下操作才可以。

业务场景

mac环境下,由于通过SQL查询,使用到了group by,而且by多个字段。例如:select a,b,c from table group by a,b 。发现执行SQL报错了。

Expression #5 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'table.a'
which is not functionally dependent on columns in GROUP BY clause;

解决方法

一、命令行方式

1、进入命令行执行以下命令

查看sql_mode

select @@sql_mode\G

发现配置是“ONLY_FULL_GROUP_BY“,修改配置。

2、修改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';

但是上面的解决方法是临时的,当下次重启后就失效了,想要一直有效,需要将配置写到配置文件

二、修改my.cnf配置

1、查找my.cnf

cd /etc

发现配置文件不存在

2、新建配置

进入/ect新建my.cnf

然后在[mysqld]栏下追加如下

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

3、保存、赋予权限

注意点,这个时候不能赋予太高的权限,如果权限太高,mysql认为不安全,就会发生如下提示:

Warning: World-writable config file '/etc/my.cnf' is ignored

则需要重新赋予权限即可

chmod 644 /etc/my.cnf

4、重启mysql服务

重启命令均在 /usr/local/Cellar/mysql/8.0.25_1/support-files 目录下

sudo /usr/local/Cellar/mysql/8.0.25_1/support-files/mysql.server restart

也可以用 brew service start mysql

这样就可以啦

扫码或搜索:PHP学习网 微信公众号

发送 T

刷新页面 即可 立即解锁 本站全部文章

PHP学习网-微信公众号
PHP学习网:站内收集的部分资源来源于网络,若侵犯了您的合法权益,请联系我们删除!
分享到:
赞(0)

文章评论

您需要之后才可以评论
0点赞 0评论 收藏 QQ分享 微博分享

PHP学习网

PHP学习网