che*_*kha 12 mysql-5 mac-os-x errors
我的工作计算机上运行着一个 MySQL 服务器,它运行 Mac OS X Maverick。我想从也有 Mac OS Maverick 的家用电脑访问它。
从终端,如果在 1 个选项卡中,我 ssh 进入我的工作计算机并让 ssh 会话坐在那里而不会空闲,然后在另一个选项卡上,我可以访问 MySQL 服务器。
但是,如果没有 ssh 会话运行,我将收到以下错误
错误 2003 (HY000):无法连接到“SERVER_IP_ADDRESS”上的 MySQL 服务器 (60)
我试图my.cnf
通过注释掉绑定地址或将其分配给来修改服务器上的文件,0.0.0.0
但它不起作用。
为什么会这样?如何配置服务器以便它允许远程访问而无需在客户端上运行 ssh?有人可以帮忙吗?
Emm*_*ows 20
我今天在 OSX Yosemite 上一直在用最近用 Homebrew 更新的 MySQL 5.7 解决这个错误。根据 StackOverflow 和其他地方的建议,我搜索了my.cnf
所有指定bind-address=0.0.0.0
. 我什至按照这些说明删除并重新安装了 MySQL,然后使用brew install mysql
. 仍然不允许远程连接。
直到我运行ps -ax | grep mysql
并注意到在启动命令中传递了绑定地址(从而覆盖了任何my.cnf
文件),我挖了一些更多并发现Homebrew 默认将 MySQL 绑定到 127.0.0.1。
编辑~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
更改--bind-address=127.0.0.1
以--bind-address=0.0.0.0
解决我的问题(如果这不仅仅是开发机器,后者应该更改为特定的 IP 地址)。
我觉得这是我咨询的大多数资源中都缺乏的重要信息,因此希望将其发布在这里会对其他人有所帮助!
编辑:正如LeandroCR在评论中指出的那样,运行brew services restart mysql
将用默认文件覆盖 LaunchAgents 中的 plist 文件,导致 MySQL 再次神秘地拒绝连接。因此,比我最初写的更好的建议如下:
/usr/local/Cellar/mysql/<yourversion>/homebrew.mxcl.mysql.plist
并替换--bind-address=127.0.0.1
为bind-address=*
或--bind-address=0.0.0.0
(请参阅有关绑定地址的 MySQL 文档)brew services restart mysql
然后 MySQL 应该从那时起继续接受非本地连接 - 直到你重新安装它,大概。
编辑(2019 年 9 月) Timothy Zorn指出,通过 Homebrew 安装和运行的 MySQL 8.x 不再出现此问题,所以我上面的回答写于 2016 年,可能只与 5.x 相关。
小智 8
运行locate my.cnf
找到文件/usr/local/etc/my.cnf
bind-address = 0.0.0.0
brew services restart mysql
我希望您需要使用'%'
通配符创建用于远程访问的用户并授予对 DB 的权限。
第1步:
在 my.cnf ( https://serverfault.com/questions/9107/how-do-i-find-where-mysql-is-loading-its-config-from ) 中注释掉你的绑定地址
# bind-address = xxx.xxx.xxx.xxx
Run Code Online (Sandbox Code Playgroud)
并重新启动 MySQL 服务器。
第2步:
然后您需要授予用户远程访问权限
GRANT ALL ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypass';
Run Code Online (Sandbox Code Playgroud)
请查看如何启用远程连接。
归档时间: |
|
查看次数: |
45063 次 |
最近记录: |