我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

书接上文,话说苏南大叔利用修改mysql的设置,完成了查看所有日志输出的功能。全文见这里:

苏南大叔:如何利用my.cnf文件固化mysql的相关设置? - mysql-my-cnf
如何利用my.cnf文件固化mysql的相关设置?(图6-1)

在这种操作下,mysql一旦重启,上述所有设定就消失了,恢复成了默认设置。那么如何固化这些设置呢?本文测试环境:macmysql@5.7.18

my.cof文件

就需要my.cnf文件了,my.cnf作为mysql的diy设置文件,并不是必须存在的。如果存在,就读取里面的内容,如果不存在,那么就使用默认的设置项目了。(注:在window下面,可能您看到的是my.ini)

苏南大叔修改了这个my.cnf文件,增加(或修改)下列设置项目即可。

slow_query_log = 1
log_queries_not_using_indexes = 1
long_query_time = 0
slow_query_log_file = /usr/local/var/mysql/localhost-slow-2.log

其中,最后一个项目slow_query_log_file,请根据你的实际情况进行设定。

保存结果

保存退出后,重启mysql的话,这些设置也不会丢失了。

苏南大叔:如何利用my.cnf文件固化mysql的相关设置? - mysql_setting2_01
如何利用my.cnf文件固化mysql的相关设置?(图6-2)

到此为止,本文的主题内容就讲完了。

my.cnf的文件位置

下面说点题外话:如何寻找my.cnf的位置。
网上的说法,众说纷纭。其实没有几条是有用的。实践出真知啊。

locate my.cnf
ps aux|grep mysql|grep 'my.cnf'
mysql --help|grep 'my.cnf'
find / -name my.cnf

这些命令基本上都没用,实践证明:苏南大叔的mac里面根本就没有my.cnf这个文件。由于系统里面的mysql是使用brew install mysql安装的。所以,苏南大叔利用brew info mysql查看了相关信息。

苏南大叔:如何利用my.cnf文件固化mysql的相关设置? - mysql_info
如何利用my.cnf文件固化mysql的相关设置?(图6-3)

这里拿到了mysql的根目录。不过然并卵,里面也没有my.cnf文件。
如下是操作过程,先找mysql的默认位置。

mysqld --help --verbose | more

苏南大叔:如何利用my.cnf文件固化mysql的相关设置? - mysql_help
如何利用my.cnf文件固化mysql的相关设置?(图6-4)

my.cnf默认模板

然后查找默认的cnf模板文件,然后把默认模板文件放到上边得到的某个目录下面去。

ls $(brew --prefix mysql)/support-files/my-*
sudo cp /usr/local/opt/mysql/support-files/my-default.cnf /etc/my.cnf 

苏南大叔:如何利用my.cnf文件固化mysql的相关设置? - mysql_help-02
如何利用my.cnf文件固化mysql的相关设置?(图6-5)

小的结论

然并卵,上述默认文件里面,什么有用的信息都没有,还不如自己添加ini格式的配置文件好了。

苏南大叔:如何利用my.cnf文件固化mysql的相关设置? - mysql_setting2_00
如何利用my.cnf文件固化mysql的相关设置?(图6-6)

然后就是本文开头的那些内容了。Enjoy it,happy coding~

欢迎关注苏南大叔的mysql系列文章,https://newsn.net/tag/mysql/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   mysql