对于自制的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
作为工作。