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


当前回答

没有什么能真正帮到我——我无法覆盖/etc/my.cnf文件中的设置。 所以我搜索了约翰建议的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

更改这个文件对我有用!别忘了重启启动Agent:

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

更新:

如果你最近安装了homebrew,你应该使用brew services命令重新启动mysql(使用你安装的homebrew mysql版本,即mysql或mysql@5.7):

brew services stop mysql
brew services start mysql

其他回答

默认情况下没有my.cnf。因此,MySQL以所有默认设置启动。如果您想创建自己的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时指定要读取的其他文件。

在我的系统里是这样的

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

作为模板和

nano /usr/local/etc/my.cnf

为工作。

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

您可以找到特定包提供my.cnf文件的位置,例如。

brew list mysql # or: mariadb

除了验证文件是否被读取,你可以运行:

sudo fs_usage | grep my.cnf

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

run

Sudo查找/ -name my.cnf

通常第一个结果是正确的。 应该在

/ usr / local / etc /