bfa*_*tto 238
默认情况下,OS X安装不使用my.cnf,MySQL只使用默认值.要设置你自己的my.cnf,你可以直接在/ etc中创建一个文件.
OS X提供了示例配置文件/usr/local/mysql/support-files/.
如果你在那里找不到它们,MySQLWorkbench可以通过以下方式为你创建它们:
小智 74
对于Mac OS X Maverick,当MySQL通过Homebrew安装时,它位于 /usr/local/opt/mysql/my.cnf
ken*_*orb 52
通常,在Unix和类Unix系统上,MySQL/MariaDB程序在以下位置(按指定顺序)读取配置/启动文件:
/etc/my.cnf - 全球/etc/mysql/my.cnf - 全球SYSCONFDIR/my.cnf - 全球
SYSCONFDIR表示使用MySQL构建时的SYSCONFDIR选项指定的目录CMake.默认情况下,这是位于已编译安装目录下的etc目录.
$MYSQL_HOME/my.cnf - 特定于服务器(仅限服务器)
MYSQL_HOME是一个环境变量,包含特定于服务器的my.cnf文件所在目录的路径.如果MYSQL_HOME未设置并使用该mysqld_safe程序启动服务器,mysqld_safe请将其设置BASEDIR为MySQL基本安装目录.
用--defaults-extra-file=pathif 指定的文件
~/.my.cnf - 特定于用户~/.mylogin.cnf - 特定于用户(仅限客户)来源:使用选项文件.
注意:在Unix平台上,MySQL会忽略全局可写的配置文件.这是有意作为安全措施.
此外,在Mac上有一种简单的方法来检查它.
跑: sudo fs_usage | grep my.cnf
这将实时报告与该文件相关的任何文件系统活动.
在另一个终端中,重新启动MySQL/MariaDB,例如
brew services restart mysql
Run Code Online (Sandbox Code Playgroud)
要么:
brew services restart mariadb
Run Code Online (Sandbox Code Playgroud)在终端上fs_usage,应显示正确的位置,例如
15:52:22 access /usr/local/Cellar/mariadb/10.1.14/my.cnf 0.000002 sh
Run Code Online (Sandbox Code Playgroud)
因此,如果该文件不存在,请创建一个.
Ser*_*ues 20
适用于Mac OS X El Capitan上的MySQL 5.7: /usr/local/mysql/etc/my.cnf
复制默认conf /usr/local/mysql/support-files/my-default.cnf
Gpa*_*pak 16
如果您使用的是macOS Sierra且该文件不存在,请运行
mysql --help or mysql --help | grep my.cnf
要查看mys.cn的my.cnf的可能位置和加载/读取序列,然后在其中一个建议的目录中创建my.cnf文件,然后添加以下行
[mysqld]
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
sudo touch /{preferred-path}/my.cnf然后,您可以编辑该文件以添加sql模式
sudo nano /{preferred-path}/my.cnf
然后重新启动mysql,voilaah你很高兴.快乐的编码
Jps*_*psy 12
在当前的MySQL包适用于Mac OS X小牛队(的mysql-5.6.17-osx10.7-x86_64的在写这篇文章时)在安装过程中自动创建的my.cnf.
它位于/usr/local/mysql-5.6.17-osx10.7-x86_64/my.cnf
根据您的版本调整您的路径.
Dat*_*tes 11
所以这些都不适合我.我正在使用当前dmg安装的mysql社区服务器.ps表明通常在my.cnf中的所有最关键参数都是在命令行上传递的,我无法弄清楚它来自哪里.在对我的盒子进行全文搜索后,我发现它:
/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
因此,您可以在那里更改它们,或者将它们取出,这样它实际上会尊重您在my.cnf中的任何位置,无论您决定使用它.
请享用!
在该文件中找到的文件信息示例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key> <string>com.oracle.oss.mysql.mysqld</string>
<key>ProcessType</key> <string>Interactive</string>
<key>Disabled</key> <false/>
<key>RunAtLoad</key> <true/>
<key>KeepAlive</key> <true/>
<key>SessionCreate</key> <true/>
<key>LaunchOnlyOnce</key> <false/>
<key>UserName</key> <string>_mysql</string>
<key>GroupName</key> <string>_mysql</string>
<key>ExitTimeOut</key> <integer>600</integer>
<key>Program</key> <string>/usr/local/mysql/bin/mysqld</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/mysql/bin/mysqld</string>
<string>--user=_mysql</string>
<string>--basedir=/usr/local/mysql</string>
<string>--datadir=/usr/local/mysql/data</string>
<string>--plugin-dir=/usr/local/mysql/lib/plugin</string>
<string>--log-error=/usr/local/mysql/data/mysqld.local.err</string>
<string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string>
<string>--keyring-file-data=/usr/local/mysql/keyring/keyring</string>
<string>--early-plugin-load=keyring_file=keyring_file.so</string>
</array>
<key>WorkingDirectory</key> <string>/usr/local/mysql</string>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
Ste*_*enR 10
在我从Homebrew安装的mysql 5.6.22中,my.cnf的路径是
/usr/local/opt/mysql/my.cnf
Run Code Online (Sandbox Code Playgroud)
你可以检查一下这个文件
/usr/local/bin/mysql.server并看看从哪里my.conf读.
通常是来自/etc/my.cnf或~/my.cnf或~/.my.cnf
如果直接从 Oracle 的 MySQL 安装程序安装,则 macOS 13 和 MySQL 8 为最新版本:
默认情况下,my.cnf不会创建任何内容。要轻松创建默认值而不需要使用任何终端命令,请执行以下操作:
在 Mac 上打开 MySQL Workbench。连接到 MySQL 的本地主机实例。
单击启动/关闭上方左窗格中“实例”旁边的小扳手图标。
选择 macOS 作为系统类型,macOS 作为安装类型,其余的将默认就位。复制它为您提供的文件位置my.cnf。
单击关闭
现在单击左侧的选项文件。它会注意到您没有文件并会显示默认值。
单击右下角的应用...。
然后,它会要求您输入当前登录 Mac 用户的密码来创建和保存文件my.cnf。
现在在 Finder 中使用 Command-Shift-G 键盘组合并复制到我们之前复制的位置(即/etc/my.cnf)
对于MAMP 3.5 Mac El Capitan,创建一个单独的空配置文件并为mysql编写其他设置
sudo vim /Applications/MAMP/Library/my.cnf
Run Code Online (Sandbox Code Playgroud)
并像这样添加
[mysqld]
max_allowed_packet = 256M
Run Code Online (Sandbox Code Playgroud)
您使用的版本的 MySQL 文档会有所帮助。它通常被描述为 aOptions File或MySQL Config File。
文档在文档中包含这些文件的位置,以及其他VITAL信息,例如位置和配置文件必须是什么样子的小示例。
在 Unix 平台上,MySQL 忽略全局可写的配置文件。
这是有意作为一种安全措施。
换句话说,如果您在配置文件上设置了错误的权限,则不会加载。
配置文件之一的初始设置权限示例:
RIZZOMBP$ ls -lah /etc/my.cnf
-rw-r--r-- 1 myusername wheel 0B Feb 25 20:40 /etc/my.cnf
Run Code Online (Sandbox Code Playgroud)
可以
!include在选项文件中使用指令来包含其他选项文件并!includedir在特定目录中搜索选项文件........ MySQL 不保证读取目录中选项文件的顺序...
在 Unix 操作系统上使用 !includedir 指令查找和包含的任何文件都必须具有以 .includedir 结尾的文件名
.cnf。在 Windows 上,此指令检查带有.ini或.cnf扩展名的文件。
如何找到您的配置或日志文件等位置的示例:
这不会向您显示配置文件,但会帮助您找到安装文件/文件夹。
MySQL 版本 5.7 和 8+
SELECT * FROM PERFORMANCE_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_VALUE LIKE '%\/%';
Run Code Online (Sandbox Code Playgroud)
MySQL 版本 <= 5.6
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_VALUE LIKE '%\/%';
Run Code Online (Sandbox Code Playgroud)
SELECT * FROM PERFORMANCE_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_VALUE LIKE '%\/%';
Run Code Online (Sandbox Code Playgroud)
以上命令归功于:来自 ServerFault 的Erwin Mayer
RIZZOMBP$ mysqld --verbose --help | grep '/my.cnf' -B 1
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
Run Code Online (Sandbox Code Playgroud)
或者
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_VALUE LIKE '%\/%';
Run Code Online (Sandbox Code Playgroud)
如果您需要详细的参考示例 my.cnf:
与 URL 没有从属关系/关联
RIZZOMBP$ mysql --help | grep "Default options" -A 1
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
Run Code Online (Sandbox Code Playgroud)
RIZZOMBP$ mysqld --verbose --help | grep '/my.cnf' -B 1
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
Run Code Online (Sandbox Code Playgroud)
RIZZOMBP$ ps aux | grep -i mysqld | grep -v $USER
_mysql 106 0.4 2.5 4232336 422112 ?? Ss 7:01PM 0:57.12
/usr/local/mysql/bin/mysqld
--user=_mysql
--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
--plugin-dir=/usr/local/mysql/lib/plugin
--log-error=/usr/local/mysql/data/mysqld.local.err
--pid-file=/usr/local/mysql/data/mysqld.local.pid
--keyring-file-data=/usr/local/mysql/keyring/keyring
--early-plugin-load=keyring_file=keyring_file.so
Run Code Online (Sandbox Code Playgroud)