如何利用my.cnf文件固化mysql的相关设置?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
书接上文,话说苏南大叔利用修改mysql
的设置,完成了查看所有日志输出的功能。全文见这里:
在这种操作下,mysql
一旦重启,上述所有设定就消失了,恢复成了默认设置。那么如何固化这些设置呢?本文测试环境:mac
,mysql@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
的文件位置
下面说点题外话:如何寻找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
查看了相关信息。
这里拿到了mysql的根目录。不过然并卵,里面也没有my.cnf文件。
如下是操作过程,先找mysql的默认位置。
mysqld --help --verbose | more
my.cnf
默认模板
然后查找默认的cnf模板文件,然后把默认模板文件放到上边得到的某个目录下面去。
ls $(brew --prefix mysql)/support-files/my-*
sudo cp /usr/local/opt/mysql/support-files/my-default.cnf /etc/my.cnf
小的结论
然并卵,上述默认文件里面,什么有用的信息都没有,还不如自己添加ini格式的配置文件好了。
然后就是本文开头的那些内容了。Enjoy it,happy coding~
欢迎关注苏南大叔的mysql系列文章,https://newsn.net/tag/mysql/
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。