一、关于配置文件 my.ini 和 my.cnf
1、my.ini 是Windows下MySQL的配置文件,其位置在MySQL的安装路径下。
2、my.cnf 是Linux下MySQL的配置文件,其位置一般在 /etc/my.cnf 。
注意:Linux用 rpm 方式安装MySQL是不会安装/etc/my.cnf文件的。
至于为什么没有这个文件而MySQL却也能正常启动和作用,有两个说法:
第一种说法:my.cnf只是MySQL启动时的一个参数文件,可以没有它,这时MySQL会用内置的默认参数启动;
第二种说法:MySQL在启动时自动使用/usr/share/mysql目录下的my-medium.cnf文件,这种说法仅限于rpm包安装的MySQL。
解决方法:只需要复制一个/usr/share/mysql目录下的.cnf文件到/etc目录,并改名为my.cnf即可。
二、确定当前MySQL所使用的配置文件
通过 find / -name "my.cnf" 指令,就可以查找出当前服务器根目录下所有的 my.cnf 文件。
实际结果往往有很多个my.cnf文件,如何判断哪个才是当前数据库所使用的配置文件呢?
方案一:
mysql --help | grep 'Default options' -A 1
上述指令,其返回结果即是配置文件读取的优先级。
也就是说,MySQL会按顺序从左到右依次读取对应路径的配置文件,如果第一个不存在,则读取第二个;如果第二个不存在则读取第三个,以此依次。
方案二:
如果MySQL是通过压缩包安装的话,其配置文件所在的位置可以是由安装时指定的,其位置便不确定,只能通过 find / -name "my.cnf" 指令找到所有的同名文件,
依次去尝试,修改配置文件,重启MySQL,判断是否更新配置。
重启MySQL:systemctl restart mysqld
查看MySQL状态:systemctl status mysqld