您实际上可以“请求”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上 - 请参阅服务属性以查明是否适合您。