关于Mysql找不到配置文件my.ini或无法通过my.ini修改client配置的问题

关于Mysql找不到配置文件my.ini或无法通过my.ini修改client配置的问题

最近开始上手学习Mysql,作为小白,遇到的问题多多,其中跟着教程尝试通过my.ini文件配置的时候发现不能通过my.ini修改[client]和[mysql]的配置。我用的是win10系统,mysql版本为5.7.30。后面经过不断尝试,发现是因为Mysql服务器端启动时读取配置文件的路径和客户端启动时读取配置文件的路径不同所导致。

我们打开windows服务,找到Mysql服务(我这里是Mysql57,Mysql也一样),右键属性:
注意这里的文件路径并不是在MySQL的安装目录
我们发现启动服务的默认配置文件路径并不是安装路径。
这也是部分人出现安装目录找不到my.ini的原因,系统把他丢在C盘ProgramData文件夹里面了。
我们打开这个目录,找到了本应该出现在安装目录的my.ini。
在这里插入图片描述
虽然找到了my.ini配置文件,但是我们现在修改一下my.ini配置,把客户端服务端的字符集全都修改为utf8,保存后重新启动服务发现只有服务器端的修改生效,而对客户端的修改并不生效。
在my.ini里修改client的配置

重启Mysql服务,登录mysql查看状态,只有服务器的配置生效了,客户端的配置不生效
这时只需要将配置文件复制一份到安装目录下:
打开安装目录,复制一份配置文件到这里
这次我们不用重启服务,单纯断开和MySQL服务端的链接,再重新链接一下看看:
客户端字符集修改成功
总结:如果你的mysql安装时把my.ini安装到了默认路径,而且windows的Mysql默认启动路径也是安装路径那么上述找不到my.ini或者my.ini修改不了客户端配置的问题都不会出现。
如果你的mysql安装路径下找不到my.ini,那是因为系统把他丢到了C\programData里面。
如果你的my.ini配置文件只对服务器端的配置有效,那是因为客户端找配置文件的默认路径是安装目录而不是programData,这时只需要配置完my.ini后复制一份到安装目录下就可以。

不得不感叹一句,Mysql真是太多坑了。。。