确认 my.cnf 文件已加载 OK

Tob*_*oby 4 mysql my.cnf

有谁知道是否有办法确认 MySQL 是否正在读取 my.cnf 文件?

我在机器上只有一个 my.cnf(并且没有 my.ini 文件),我在 /etc/my.cnf 中有。

当我运行时./mysqld --help --versbose,它没有给我我在文件中设置的变量,所以我假设它没有加载它或者它正在加载一个不同的文件。

我通过将 my.cnf 设置为 777 并再次运行该命令进行了测试,这次我收到一条警告,说该文件不会被加载,因为它是全局可写的。

这是否足以暗示 my.cnf 已被加载,并且其中可能存在错误,导致未设置变量,或者是否有其他方法可以确定加载了什么(如果有)my.cnf 文件?

Der*_*ney 6

如果只有一个 my.cnf 文件,而且它是 /etc/my.cnf,那么它就是加载的那个。从手册:

在 Unix、Linux 和 Mac OS X 上,MySQL 程序按照指定的顺序从以下文件中读取启动选项(首先使用顶部项目)。

/etc/my.cnf 全局选项

SYSCONFDIR/my.cnf全局选项

$MYSQL_HOME/my.cnf 服务器特定的选项

defaults-extra-file用 --defaults-extra-file=path 指定的文件,如果有的话

~/.my.cnf特定于用户的选项(在您的主目录中)

因此,如果您检查其他目录并且没有 my.cnf 文件,您可以确定它是从 /etc/my.cnf 加载的。

如果您使用MYSQLAdministrator,据说您可以从 Service Control->Configuration File->Config filename 中获取它,根据这篇文章