对于自制mysql安装,my.cnf在哪里?它安装了吗?
当前回答
没有什么能真正帮到我——我无法覆盖/etc/my.cnf文件中的设置。 所以我搜索了约翰建议的https://stackoverflow.com/a/7974114/717251
sudo /usr/libexec/locate.updatedb
# wait a few minutes for it to finish
locate my.cnf
它发现另一个my.cnf在
/usr/local/Cellar/mysql/5.6.21/my.cnf
更改这个文件对我有用!别忘了重启启动Agent:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
更新:
如果你最近安装了homebrew,你应该使用brew services命令重新启动mysql(使用你安装的homebrew mysql版本,即mysql或mysql@5.7):
brew services stop mysql
brew services start mysql
其他回答
有一种方法可以知道:
sudo /usr/libexec/locate.updatedb
# wait a few minutes for it to finish
locate my.cnf
我相信答案是否定的。在~/.my.cnf或/usr/local/etc中安装一个似乎是首选的解决方案。
由于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也会在它的Cellar目录中查找my.cnf,例如:
/usr/local/Cellar/mysql/5.7.21/my.cnf
对于这种情况,人们更喜欢将配置文件保持在接近二进制文件的位置——如果缺少的话,在这里创建my.cnf。
修改后重启mysql:
brew services restart mysql
对于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秒)
推荐文章
- 我可以从一个完整的mysql mysqldump文件恢复一个表吗?
- 计数在VARCHAR字段中字符串的出现次数?
- 修改一个MySQL列为AUTO_INCREMENT
- 在ROR迁移期间,将列类型从Date更改为DateTime
- 如何删除所有MySQL表从命令行没有DROP数据库权限?
- 从主机连接到docker容器中的mysql
- 如果任何字段包含NULL, MySQL CONCAT将返回NULL
- 我如何知道哪些自制配方是可升级的?
- MySQL中的字符串连接
- "ERROR:root:code for hash md5 was not found"当使用任何hg mercurial命令时
- Laravel未知列'updated_at'
- MySQL更新内部连接表查询
- 根据查询结果设置用户变量
- 不能删除外键约束中需要的索引
- MySQL现在()+1天