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文件(取自这里 )的可能位置:
-
/etc/my.cnf
-
/etc/mysql/my.cnf
-
SYSCONFDIR/my.cnf
-
$MYSQL_HOME/my.cnf
-
defaults-extra-file
(用--defaults-extra-file=path
指定--defaults-extra-file=path
,如果有的话) -
~/.my.cnf
一般来说,在Unix和类Unix系统上,MySQL / MariaDB程序在以下位置(按照指定的顺序)读取config / startup文件:
-
/etc/my.cnf
– 全局 -
/etc/mysql/my.cnf
– 全局 -
SYSCONFDIR/my.cnf
– 全局SYSCONFDIR
表示在构buildMySQL时使用CMake
的SYSCONFDIR
选项指定的目录。 默认情况下,这是位于编译的安装目录下的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上有一个简单的方法来检查它。
-
运行:
sudo fs_usage | grep my.cnf
sudo fs_usage | grep my.cnf
这将实时报告与该文件有关的任何文件系统活动。
-
在另一个terminal中,重新启动你的MySQL / MariaDB,例如
brew services restart mysql
要么:
brew services restart mariadb
-
在
fs_usage
terminal上,应显示正确的位置,例如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