MySQL实例在启动时,会先读取配置参数文件my.cnf。my.cnf一般会放在MySQL的安装目录中,用户也可以放在其他目录加载。安装MySQL后,系统中会有多个my.cnf文件,有些是用于测试的。使用“locate my.cnf”或“find / -name my.cnf”命令可以列出所有的my.cnf文件。
有时候,DBA会发现虽然尝试修改了配置文件的一些变量,但是并没有生效,这其实是因为修改的文件并非MySQL服务器读取的配置文件。MySQL服务器读取的配置文件及路径默认为:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
如果不清楚MySQL当前使用的配置文件路径,那么可以安装如下步骤来查看:
(一)查看是否使用了指定目录的my.cnf文件
在启动MySQL后,可以通过查看MySQL的进程,看看是否有设置使用指定目录的my.cnf文件,如果有则表示MySQL启动时是加载了这个配置文件。
命令:ps -ef|grep mysql|grep 'my.cnf'
输出:
fdipzone 25174 0.0 0.0 3087244 600 ?? S 4:12下午 0:01.14 /usr/local/Cellar/mysql/5.6.24/bin/mysqld --defaults-file=/usr/local/Cellar/mysql/5.6.24/my.cnf --basedir=/usr/local/Cellar/mysql/5.6.24 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.6.24/lib/plugin --bind-address=127.0.0.1 --log-error=/usr/local/var/mysql/TerrydeMacBook-Air.local.err --pid-file=/usr/local/var/mysql/TerrydeMacBook-Air.local.pid
fdipzone 25064 0.0 0.0 2452824 4 ?? S 4:12下午 0:00.03 /bin/sh /usr/local/opt/mysql/bin/mysqld_safe --defaults-file=/usr/local/Cellar/mysql/5.6.24/my.cnf --bind-address=127.0.0.1 --datadir=/usr/local/var/mysql
可以看到/usr/local/Cellar/mysql/5.6.24/my.cnf就是MySQL启动加载的配置文件。如果上面的命令没有输出,那么表示没有设置使用指定目录的my.cnf。
(二)查看mysql默认读取my.cnf的目录
如果没有设置使用指定目录的my.cnf,MySQL启动时会读取安装目录根目录及默认目录下的my.cnf文件。
命令:mysql --help|grep 'my.cnf' 或 mysqld --verbose --help |grep -A 1 'Default options'
输出:
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf
则,/etc/my.cnf, /etc/mysql/my.cnf, /usr/local/etc/my.cnf, ~/.my.cnf 这些就是MySQL默认会搜寻my.cnf的目录,顺序排前的优先。
(三)启动时没有使用配置文件
如果没有设置使用指定目录my.cnf文件及默认读取目录没有my.cnf文件,表示MySQL启动时并没有加载配置文件,而是使用默认配置。需要修改配置,可以在MySQL默认读取的目录中,创建一个my.cnf文件(例如:/etc/my.cnf),把需要修改的配置内容写入,重启MySQL后即可生效。
[root@rhel6lhr mysql]# find / -name my.cnf
/usr/my.cnf
/usr/share/mysql-test/suite/ndb_team/my.cnf
/usr/share/mysql-test/suite/federated/my.cnf
/usr/share/mysql-test/suite/ndb_big/my.cnf
/usr/share/mysql-test/suite/rpl_ndb/my.cnf
/usr/share/mysql-test/suite/rpl/my.cnf
/usr/share/mysql-test/suite/rpl/extension/bhs/my.cnf
/usr/share/mysql-test/suite/ndb_rpl/my.cnf
/usr/share/mysql-test/suite/ndb/my.cnf
/usr/share/mysql-test/suite/ndb_binlog/my.cnf
/var/lib/mysql/my.cnf
/etc/my.cnf
[root@rhel6lhr mysql]#
[root@rhel6lhr mysql]# locate my.cnf
/etc/my.cnf
/etc/my.cnf.d
/etc/my.cnf.rpmnew
/etc/my.cnf.rpmsave
/usr/my.cnf
/usr/share/mysql-test/include/default_my.cnf
/usr/share/mysql-test/suite/federated/my.cnf
/usr/share/mysql-test/suite/ndb/my.cnf
/usr/share/mysql-test/suite/ndb_big/my.cnf
/usr/share/mysql-test/suite/ndb_binlog/my.cnf
/usr/share/mysql-test/suite/ndb_rpl/my.cnf
/usr/share/mysql-test/suite/ndb_team/my.cnf
/usr/share/mysql-test/suite/rpl/my.cnf
/usr/share/mysql-test/suite/rpl/extension/bhs/my.cnf
/usr/share/mysql-test/suite/rpl_ndb/my.cnf
/var/lib/mysql/.my.cnf.swp
/var/lib/mysql/my.cnf
/var/lib/mysql/my.cnf_bk
[root@rhel6lhr mysql]#
[root@rhel6lhr mysql]# mysql --help|grep my.cnf
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
[root@rhel6lhr mysql]#
[root@rhel6lhr mysql]# which mysqld
/usr/sbin/mysqld
[root@rhel6lhr mysql]# /usr/sbin/mysqld --verbose --help |grep -A 1 'Default options'
2017-03-22 19:24:11 20934 [Warning] No argument was provided to --log-bin, and --log-bin-index was not used; so replication may break when this MySQL server acts as a master and has his hostname changed!! Please use '--log-bin=rhel6lhr-bin' to avoid this problem.
2017-03-22 19:24:11 20934 [Note] Plugin 'FEDERATED' is disabled.
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
2017-03-22 19:24:11 20934 [Note] Binlog end
2017-03-22 19:24:11 20934 [Note] Shutting down plugin 'CSV'
2017-03-22 19:24:11 20934 [Note] Shutting down plugin 'MyISAM'
[root@rhel6lhr mysql]# whereis my.cnf
my: /etc/my.cnf
[root@rhel6lhr mysql]#
About Me
.............................................................................................................................................
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新
● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/
● 本文博客园地址:http://www.cnblogs.com/lhrbest
● 本文pdf版、个人简介及小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/
● 数据库笔试面试题库及解答:http://blog.itpub.net/26736162/viewspace-2134706/
● DBA宝典今日头条号地址:http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826
.............................................................................................................................................
● QQ群:230161599 微信群:私聊
● 联系我请加QQ好友(646634621),注明添加缘由
● 于 2017-07-01 09:00 ~ 2017-07-31 22:00 在魔都完成
● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
.............................................................................................................................................
● 小麦苗的微店:https://weidian.com/s/793741433?wfr=c&ifr=shopdetail
● 小麦苗出版的数据库类丛书:http://blog.itpub.net/26736162/viewspace-2142121/
.............................................................................................................................................
使用微信客户端扫描下面的二维码来关注小麦苗的微信公众号(xiaomaimiaolhr)及QQ群(DBA宝典),学习最实用的数据库技术。
小麦苗的微信公众号 小麦苗的QQ群 小麦苗的微店
.............................................................................................................................................
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2135880/,如需转载,请注明出处,否则将追究法律责任。