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


当前回答

由于mysql——help显示了一个文件列表,我发现将结果管道到ls来查看它们中的哪些存在是有用的:

$ mysql --help | grep /my.cnf | xargs ls
ls: /etc/my.cnf: No such file or directory
ls: /etc/mysql/my.cnf: No such file or directory
ls: ~/.my.cnf: No such file or directory
/usr/local/etc/my.cnf

对于我的(安装了Homebrew) MySQL 5.7,文件似乎在/usr/local/etc/my.cnf.

其他回答

run

Sudo查找/ -name my.cnf

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

/ usr / local / etc /

在shell上输入my_print_defaults——help

在结果的底部,您应该能够看到服务器从中读取配置的文件。它输出如下内容:

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

我已经使用Homebrew安装了MySQL 5.7

My.cnf文件位于“/opt/homebrew/etc/ My.cnf”

homebrew mysql在安装的support-files文件夹中包含样例配置文件。

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文件不应该被添加到system /etc文件夹中,所以我改变了命令,将文件复制到/usr/local/etc中

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

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

对于MacOS (High Sierra),已经安装了自制的MySQL。

从mysql环境中增加全局变量不成功。因此,在这种情况下,创建~/.my.cnf是最安全的选择。使用[mysqld]添加变量将包括更改(注意:如果使用[mysql]更改,更改可能不起作用)。

<~/.my.cnf> [mysqld] connect_timeout = 43200 max_allowed_packet = 2048M net_buffer_length = 512M

重新启动mysql服务器。检查变量。 y

SELECT @@max_allowed_packet; +----------------------+ | @@max_allowed_packet | . +----------------------+ | 1073741824 | +----------------------+

set中的1行(0.00秒)