MySQL执行参数优先级

1)socket文件指定位置

#cmake:
socket=/application/mysql/tmp/mysql.sock

#命令行:
--socket=/tmp/mysql.sock

#配置文件:
/etc/my.cnf 中[mysqld]标签下:socket=/opt/mysql.sock

#default参数:
--defaults-file=/tmp/a.txt 配置文件中[mysqld]标签下:socket=/tmp/test.sock

2)测试优先级

#1.启动MySQL,查看sock文件位置
[root@db02 ~]# mysqld_safe --defaults-file=/tmp/a.txt --socket=/tmp/mysql.sock &
[root@db02 ~]# ll /tmp/
srwxrwxrwx 1 mysql mysql         0 Oct 22 18:58 mysql.sock

#2.启动MySQL,查看sock文件位置
[root@db02 ~]# mysqld_safe --defaults-file=/tmp/a.txt &
[root@db02 ~]# ll /tmp/
srwxrwxrwx 1 mysql mysql         0 Oct 22 19:01 test.sock
#如果设置--defaults-file,那么MySQL启动时只读取指定的配置文件

#3.启动MySQL,查看sock文件位置
[root@db02 ~]# mysqld_safe &
[root@db02 ~]# ll /opt/
srwxrwxrwx 1 mysql mysql 0 Oct 22 19:03 mysql.sock

3)优先级总结

#优先级排序
命令行  >  --defaults-file参数指定配置  >  ~/.my.cnf  >  $basedir/my.cnf  >  /etc/mysql/my.cnf  >  /etc/my.cnf  >  初始化配置   >  cmake
原文地址:https://www.cnblogs.com/chenlifan/p/13874903.html