对于自制的mysql安装,my.cnf在哪里?

对于自制的mysql安装,my.cnf在哪里? 它安装一个吗?

没有默认my.cnf。 因此,MySQL以所有的默认设置开始。 如果你想创build你自己的my.cnf来覆盖任何默认值,把它放在/etc/my.cnf。

另外,您可以运行mysql --help并查看列出的conf位置。

 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 The following groups are read: mysql client The following options may be given as the first argument: --print-defaults Print the program argument list and exit. --no-defaults Don't read default options from any option file. --defaults-file=# Only read default options from the given file #. --defaults-extra-file=# Read this file after the global files are read. 

正如你所看到的,还有一些选项可以绕过conf文件,或者在命令行调用mysql时指定其他文件来读取。

自制软件mysql在安装的support-files文件夹中包含示例configuration文件。

 ls $(brew --prefix mysql)/support-files/my-* 

如果您需要更改默认设置,您可以使用其中的一个作为起点。

 cp $(brew --prefix mysql)/support-files/my-default.cnf /usr/local/etc/my.cnf 

正如@rednaw指出的,MySQL的自制安装很可能在/usr/local所以my.cnf文件不应该被添加到系统/etc文件夹中,所以我已经将命令复制到/usr/local/etc

如果您使用MariaDB而不是MySQL,请使用以下命令:

 cp $(brew --prefix mariadb)/support-files/my-small.cnf /usr/local/etc/my.cnf 

一个方法来找出:

 sudo /usr/libexec/locate.updatedb # wait a few minutes for it to finish locate my.cnf 

没有什么帮助我 – 我无法覆盖/etc/my.cnf文件中的设置。 所以我像约翰build议https://stackoverflow.com/a/7974114/717251

 sudo /usr/libexec/locate.updatedb # wait a few minutes for it to finish locate my.cnf 

它发现了另一个my.cnf

 /usr/local/Cellar/mysql/5.6.21/my.cnf 

改变这个文件为我工作! 不要忘记重新启动代理程序:

 launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist 

在你的shell中inputmy_print_defaults --help

在结果的底部,您应该能够看到服务器从中读取configuration的文件。 它打印这样的东西:

 Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf 

我相信答案是否定的。 在〜/ .my.cnf或/ usr / local / etc中安装一个似乎是首选的解决scheme。

你可以findmy.cnf文件由特定包提供的位置,例如

 brew list mysql # or: mariadb 

除了validation该文件是否被读取,您还可以运行:

 sudo fs_usage | grep my.cnf 

这将显示与文件实时相关的文件系统活动。

在我的系统中是这样的

 nano /usr/local/etc/my.cnf.default 

作为模板和

 nano /usr/local/etc/my.cnf 

作为工作。