MySQL的坑之my-default.ini

MySQL配置文件里有个参数max_allowed_packet定义的是客户端和服务端传输数据包的大小。

踩坑过程:最近我在新搭建的服务器上安装了MySQL。为了图方便,我将自己电脑上编辑好的my.ini配置文件直接放到了服务器上的MySQL安装目录下。安装包里原本就含有一个my-default.ini配置文件,当时我认为这个文件不会影响我自定义的配置,而且打开后发现里面并没有配置任何参数,所以就没太在意,想着以后可能用得上,就暂时留着了。

项目部署后一直运行正常,但突然有一天上午出现了Packet for query is too large的错误。通过搜索资料,我很快找到了解决办法:在配置文件中添加max_allowed_packet=20971520,并将这个值设置得非常大。

重启数据库后,项目运行了半天又报了这个错误。我使用SHOW VARIABLES LIKE '%max_allowed_packet%';命令查看,发现max_allowed_packet的值仍然是2048。明明刚刚改过,而且只有我有数据库的root权限,这让我感到很奇怪。检查my.ini文件,我发现我设置的值还在那里,但无论执行多少次命令,max_allowed_packet的值始终是2048。情急之下,我再次重启了数据库,项目这才恢复正常运行。

晚上我查阅了更多资料,才了解到MySQL在启动时会按照特定的顺序加载配置文件,如果存在多个配置文件,后面的配置文件会覆盖前面的配置。我恍然大悟,原来是我留下的my-default.ini文件干扰了我自定义的配置。

通过这次踩坑经历,我明白了优化配置的重要性。对于不再需要的默认文件或配置,应该及时删除或移动到其他地方,以免干扰到自定义的配置。同时,也要确保对MySQL的配置文件加载顺序有清晰的了解,这样才能避免类似的问题再次发生。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值