对于自制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.

其他回答

由于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.

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

$ps aux | grep mysqld /usr/local/opt/mysql/bin/mysqld——basedir=/usr/local/opt/mysql——datadir=/usr/local/var/mysql——plugin-dir=/usr/local/opt/mysql/lib/plugin 放下你的我。Cf文件到/usr/local/opt/mysql 重启mysql

添加另一个答案

公认的答案是正确的。因为我们讨论的是Homebrew安装的mysql,而不是手动安装的mysql,所以有更直接的方法来查找conf。 前一个答案可能有点过时,Homebrew在M1 Mac上存储在不同的位置

Conf

在安装过程中,my.cnf会被Homebrew复制到以下位置

/usr/local/etc/my.cnf for x86 Mac /opt/homebrew/etc/my.cnf

Homebrew选择/usr/local或/opt/ Homebrew存储包,因此默认的conf文件不存储在/etc/中,而是存储在/usr/local/etc或/opt/ Homebrew /etc中。

事实上,homebrew在从源代码编译mysql时改变了-DSYSCONFDIR=(默认的conf位置)标志。

启动服务

一个简单的回答:运行brew info mysql并查看提示。

推荐使用“brew services start mysql”,使用launchd管理服务。(launchd被认为是macOS上的systemd选项)

如果有人想手动启动,请使用mysql。没有任何选项的启动就足以启动服务。(mysql。Start是mysql提供的帮助启动服务的脚本)

服务器版本:8.0.19 Homebrew。macOS Catalina 10.15.5,通过Homebrew安装MySQL在这里找到这个文件:

/usr/local/etc/my.cnf

这个解决方案有帮助:)