/etc/my.cnf中
/etc/mysql/my.cnf
$ MYSQL_HOME/my.cnf中
[DATADIR] /my.cnf
〜/ .my.cnf
这些是MySQL看到的默认位置。如果它找到多个,它将加载它们中的每一个和值互相覆盖(按照列出的顺序,我认为)。此外,--defaults-file参数可以覆盖整个事物,所以...基本上,它是一个巨大的痛苦的屁股。
但是由于它如此混乱,很有可能它只是在/etc/my.cnf中。
您实际上可以“请求”MySQL以查找其搜索my.cnf(或Windows上的my.ini)的所有位置的列表。但它不是SQL查询。相反,执行:
$ mysqladmin --help
或者,在5.7之前:
$ mysqld --help --verbose
** 我采用此方法 **
在第一行中,您将找到一条消息,其中包含所查找的所有my.cnf位置的列表。在我的机器上它是:
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
或者,在Windows上:
Default options are read from the following files in the given order:
C:\Windows\my.ini
C:\Windows\my.cnf
C:\my.ini
C:\my.cnf
C:\Program Files\MySQL\MySQL Server 5.5\my.ini
C:\Program Files\MySQL\MySQL Server 5.5\my.cnf
但请注意, 可能是这些位置中没有my.cnf文件的情况 。因此,您可以自己创建文件 - 使用MySQL发行版提供的示例配置文件之一(在Linux上 - 请参阅/usr/share/mysql/*.cnf文件并使用适合您的文件 - 将其复制到/etc/my.cnf然后根据需要进行修改)。
另外,请注意 还有一个命令行选项--defaults-file,它可以定义my.cnf或my.ini文件的自定义路径。例如,Windows上的MySQL 5.5就是这种情况 - 它指向数据目录中的my.ini文件,该文件通常不会与mysqld --help --verbose一起列出。在Windows上 - 请参阅服务属性以查明是否适合您。