安装完数据库 除了将my.cnf放在/etc/下放在其他地方也是可以的
| 1 | cp/usr/share/mysql/my-default.cnf /etc/my.cnf | 
今天就看一下这些my.cnf是怎么生效的
看一下生效的my.cnf有哪些
| 1 2 3 | [root@Check2 ~]# mysql --help | grep -E ‘*.cnf‘order of preference, my.cnf, $MYSQL_TCP_PORT,/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf | 
可以看到路径为
| 1 2 3 4 | /etc/my.cnf/etc/mysql/my.cnf/usr/etc/my.cnf~/.my.cnf | 
在上面路径中都cp一份my.cnf
其中在[mysqld]下添加port不同
| 1 2 3 4 | /etc/my.cnf    #port = 3307/etc/mysql/my.cnf    #port = 3308/usr/etc/my.cnf    #port = 3309~/.my.cnf    #port = 3310 | 
配置好如下:
| 1 2 3 4 5 6 7 8 | [root@Check2 ~]# cat /etc/my.cnf | grep ‘^port‘port = 3307[root@Check2 ~]# cat /etc/mysql/my.cnf | grep ‘^port‘port = 3308[root@Check2 ~]# cat /usr/etc/my.cnf | grep ‘^port‘port = 3309[root@Check2 ~]# cat ~/.my.cnf | grep ‘^port‘port = 3310 | 
重启数据库看那个my.cnf生效
| 1 2 3 4 5 | [root@Check2 ~]# /etc/init.d/mysql restartShutting down MySQL.. SUCCESS! Starting MySQL. SUCCESS! [root@Check2 ~]# netstat -anpt | grep mysqldtcp        0      0 0.0.0.0:3310                0.0.0.0:*                   LISTEN      2696/mysqld | 
可以看到先生效的是~/.my.cnf
将这个文件删除,在看下其他的
| 1 2 3 4 5 6 7 | [root@Check2 ~]# cd ~[root@Check2 ~]# rm -rf .my.cnf [root@Check2 ~]# /etc/init.d/mysql restartShutting down MySQL.. SUCCESS! Starting MySQL. SUCCESS! [root@Check2 ~]# netstat -anpt | grep mysqldtcp 0 0 0.0.0.0:3309 0.0.0.0:* LISTEN 2977/mysqld | 
继续
| 1 2 3 4 5 6 | [root@Check2 ~]# rm -rf /usr/etc/my.cnf [root@Check2 ~]# /etc/init.d/mysql restartShutting down MySQL.. SUCCESS! Starting MySQL. SUCCESS! [root@Check2 ~]# netstat -anpt | grep mysqldtcp 0 0 0.0.0.0:3308 0.0.0.0:* LISTEN 3221/mysqld | 
现在可以看出生效顺序是反着的
| 1 2 3 4 | 1、~/.my.cnf2、/usr/etc/my.cnf3、/etc/mysql/my.cnf4、/etc/my.cnf | 
原文:https://www.cnblogs.com/songtianning/p/12700876.html