MySQL my.cnf在OS X上的位置?

我试图按照这个教程来启用对mysql的远程访问。 问题是,my.cnf应该放在哪里? 我正在使用Mac OS X Lion。

MySQL论坛上的这个线程说:

默认情况下,OS X安装不使用my.cnf,MySQL只使用默认值。 要设置你自己的my.cnf,你可以直接在/ etc中创build一个文件。

OS X在/usr/local/mysql/support-files/提供了示例configuration文件。

在Mac OS X Maverick的情况下,当通过Homebrew安装MySQL时,它位于/usr/local/opt/mysql/my.cnf

我不知道你使用的是哪个版本的MySQL,但是这里是Mac OS X版本5.5的my.cnf文件(取自这里 )的可能位置:

  1. /etc/my.cnf
  2. /etc/mysql/my.cnf
  3. SYSCONFDIR/my.cnf
  4. $MYSQL_HOME/my.cnf
  5. defaults-extra-file (用--defaults-extra-file=path指定--defaults-extra-file=path ,如果有的话)
  6. ~/.my.cnf

一般来说,在Unix和类Unix系统上,MySQL / MariaDB程序在以下位置(按照指定的顺序)读取config / startup文件:

  • /etc/my.cnf – 全局
  • /etc/mysql/my.cnf – 全局
  • SYSCONFDIR/my.cnf – 全局

    SYSCONFDIR表示在构buildMySQL时使用CMakeSYSCONFDIR选项指定的目录。 默认情况下,这是位于编译的安装目录下的etc目录。

  • $MYSQL_HOME/my.cnf – 服务器特定(仅限服务器)

    MYSQL_HOME是一个环境variables,包含特定于服务器的my.cnf文件所在的目录的path。 如果未设置MYSQL_HOME并使用mysqld_safe程序启动服务器,则mysqld_safe将其设置为BASEDIR ,即MySQL基本安装目录。

  • 使用--defaults-extra-file=path指定--defaults-extra-file=path如果有的话)

  • ~/.my.cnf – 用户特定的
  • ~/.mylogin.cnf – 用户特定(仅限客户端)

来源: 使用选项文件 。

注意:在Unix平台上,MySQL会忽略世界可写的configuration文件。 这是故意作为安全措施。


另外在Mac上有一个简单的方法来检查它。

  1. 运行: sudo fs_usage | grep my.cnf sudo fs_usage | grep my.cnf

    这将实时报告与该文件有关的任何文件系统活动。

  2. 在另一个terminal中,重新启动你的MySQL / MariaDB,例如

     brew services restart mysql 

    要么:

     brew services restart mariadb 
  3. fs_usageterminal上,应显示正确的位置,例如

     15:52:22 access /usr/local/Cellar/mariadb/10.1.14/my.cnf 0.000002 sh 

    所以如果文件不存在,请创build一个。

对于Mac OS X上的MySQL 5.7 El Capitan: /usr/local/mysql/etc/my.cnf

复制/usr/local/mysql/support-files/my-default.cnf默认conf

目前用于Mac OS X Mavericks的MySQL包 (在编写本文时为mysql-5.6.17-osx10.7-x86_64)会在安装期间自动创buildmy.cnf。

它位于/usr/local/mysql-5.6.17-osx10.7-x86_64/my.cnf
根据你的版本调整你的path。

在MySQL 5.6.22,我从Homebrew安装它,my.cnf的path是

 /usr/local/opt/mysql/my.cnf 

你可以打开一个terminal并inputlocate my.cnf

所以这些东西都不适合我 我正在使用mysql社区服务器的当前dmg安装。 ps显示my.cnf中所有最关键的参数都是通过命令行传递的,我无法弄清楚是从哪里来的。 在对我的盒子进行全文search之后,我发现它在:

/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

所以你可以在那里改变它们,或者把它们拿出来,这样它会真正地尊重你在my.cnf中的位置,无论你决定放在哪里。

请享用!

您可以检查文件/usr/local/bin/mysql.server,并查看my.conf的读取位置。 通常来自/etc/my.cnf或〜/ my.cnf

对于MAMP 3.5 Mac El Capitan,创build一个单独的空configuration文件并为mysql编写额外的设置

 sudo vim /Applications/MAMP/Library/my.cnf 

并添加像这样

 [mysqld] max_allowed_packet = 256M 

我检查了macOS Sierra,安装了MySql 5.7.12的自制软件

支持文件位于

 /usr/local/opt/mysql/support-files 

只需将my-default.cnf复制为/etc/my.cnf/etc/mysql/my.cnf ,configuration将在重新启动时被取出。

对于Mac,我的工作是在我的〜path创build一个.my.cnf文件。 希望这可以帮助。

将/usr/local/opt/mysql/support-files/my-default.cnf复制为/etc/my.cnf或/etc/mysql/my.cnf,然后重新启动mysql。

对于我在山脉版本

在以下位置复制默认configuration:

/usr/local/Cellar/mysql/5.6.27/support-files/my-default.cnf

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