通过mysqld
运行,我希望看到/etc/my.cnf
至少有一个命令使用了它
ps aux | grep mysql | grep -v grep
mysqladmin variables | grep defaults-file
显示 的值--defaults-file
。但我没有看到这样的项目。为什么不?
我认为 /etc/my.cnf
正在阅读,因为如果我在其[mysqld]
部分中输入了错误条目,例如,error = true
当我尝试启动它时,它会以一条消息mysqld
中止。ERROR
我通过mysql-5.6.10-osx10.7-x86_64.pkg
从运行来使用安装mysql-5.6.10-osx10.7-x86_64.dmg
。
每当启动 mysqld 时,它都会尝试定位和读取四个默认位置
my.cnf
如果您运行以下命令:
你会看到这个:
注意上面写着的那一行:
这些是读取的四个文件(如果存在)。
以上显示来自 Linux Box。所以,请跑
并查看回显的位置。
更新 2013-03-17 22:35 EDT
您看不到该
--defaults-file
选项不可见的原因很简单:由于my.cnf
存在一个或多个默认文件,mysqld_safe
因此不会在命令行上显示它。请注意以下事项:
mysqld
使用四个默认值--defaults-file
为 mysqld 设置。这就是mysqld_safe
mysqld_safe
需要明确指定它才能在操作系统中可见运行
SHOW GLOBAL VARIABLES;
不会显示任何默认文件在 OS X 上,这是一个检查文件是否被读取的简单方法。
跑:
sudo fs_usage | grep my.cnf
这将实时报告与该文件相关的任何文件系统活动。
在另一个终端中,重新启动您的 MySQL/MariaDB 服务器,例如
在带有 的终端上
fs_usage
,应显示正确的位置,例如