brew mysql远程访问权限_Brew安装的MySQL无法远程的登陆
背景
macOS 10.12.4 操作系统
Homebrew 软件包管理器
MySQL 5.7.17
问题
使用Brew安装Mysql, 启动,本地可以正常登陆,无法远程登陆。
账户是的Host已经设置为‘%’
最后发现问题,3306端口再能在ip 127.0.0.1 上启动
运行命令
netstat -an | grep 3306
结果为:
tcp4 0 0 127.0.0.1.3306 *.* LISTEN
说明 3306端口 只能在 127.0.0.1 IP上进行监听
登陆mysql后 运行SQL
show variables like '%address%'
结果为
+---------------+-----------+
| Variable_name | Value |
+---------------+-----------+
| bind_address | 127.0.0.1 |
+---------------+-----------+
说明是mysql中绑定了IP地址
解决历程
上网查询各种资料, 都是让修改mysql的配置文件 my.cnf, 把 bind-address="127.0.0.1" 这一项注释掉
如果不知道my.cnf的位置在哪,可以运行命令
mysql --help | grep my.cnf
但是,打开my.cnf后并未发现 bind-address 这一项,自己手动加上 bind-address="0.0.0.0" ,重启mysql,仍然能远程登录。
难道my.cnf 中的配置不起作用?
最终解决
并不是my.cnf中的配置不起作用,是因为我们的mysql使用brew安装的, 还存在一个brew独有的优先级更高的xml格式的配置
打开文件 /usr/local/Cellar/mysql/5.7.17/homebrew.mxcl.mysql.plist
KeepAlive
Label
homebrew.mxcl.mysql
ProgramArguments
/usr/local/opt/mysql/bin/mysqld_safe
--bind-address=127.0.0.1
--datadir=/usr/local/var/mysql
RunAtLoad
WorkingDirectory
/usr/local/var/mysql
~
其中有一行 --bind-address=127.0.0.1,把这一行删掉,或者把 127.0.0.1 换成 0.0.0.0
重启mysql, 可以远程登录, 大功告成
(完)
更多推荐
所有评论(0)