Mac Homebrew安装的MySQL无法远程登录的解决
对于Mac上Homebrew安装的MySQL,默认情况下只能使用本地登录。
而使用其它主机远程登录Mac上的MySQL则会被拒绝访问。
下面修改MySQL的相关配置并使其能被远程主机访问。
[var]
mysql -u root -p -D mysql
[var]
update user set host=’%’ where user=’root’;
查看下修改情况:
mysql> select user,host from user;
+——————+———–+
| user | host |
+——————+———–+
| root | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
+——————+———–+
4 rows in set (0.00 sec)
+——————+———–+
| user | host |
+——————+———–+
| root | % |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
+——————+———–+
4 rows in set (0.00 sec)
[var]
flush privileges;
[var]
exit
[var]
对于Homebrew安装的MySQL,默认的配置文件路径是/usr/local/etc/my.cnf:
# Default Homebrew MySQL server config
[mysqld]
# Only allow connections from localhost
bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1
[mysqld]
# Only allow connections from localhost
bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1
将bind-address值修改为0.0.0.0:
# Default Homebrew MySQL server config
[mysqld]
# Only allow connections from localhost
bind-address = 0.0.0.0
mysqlx-bind-address = 127.0.0.1
[mysqld]
# Only allow connections from localhost
bind-address = 0.0.0.0
mysqlx-bind-address = 127.0.0.1
[var]
brew services restart mysql
?如果brew重启失败,有以下两种解决方案:
进入/usr/local/Cellar/mysql/<version>/bin目录下,使用mysql.server restart命令重启MySQL。注意"version"是你Mac上安装MySQL的版本号,请根据实际安装版本号来替换
可以选择重启Mac来达到重启MySQL服务的目的。重启Mac后,如果没有设置MySQL服务自启动,需要手动拉起MySQL服务:mysql.server start
验证
$ mysql -u root -p -h 192.168.0.100
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.21 Homebrew
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql>
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.21 Homebrew
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql>
远程登录成功。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。