第一个坑:
Mysql8.0不支持以下方式:
mysql> grant all privileges on *.* to root@"%" identified by ".";
需要用下面方式:
创建用户:
mysql> create user `mac`@`%` identified by "123456";
再给用户授权:
mysql> grant all privileges on *.* to 'mac'@'%' ;
刷新权限:
mysql> FLUSH PRIVILEGES;
第二个坑:
以上配置好了,重启mysql 不管用,重启电脑不管用,重新拉屋子总开关...这个就不用了。
我甚至怀疑是不是新版本,只允许使用Mysql SSH隧道连接。
后来使用macOs网络实用工具,扫描端口,发现127.0.0.1管用,局网IP不行.
检查端口:
netstat -an | grep 3306
tcp4 0 0 127.0.0.1.3306 *.* LISTEN
tcp4 0 0 127.0.0.1.33060 *.* LISTEN
感觉这个问题不对,查mysql配置文件:
xi /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
问题就在这里,改成下面的:
bind-address = 0.0.0.0 #全部IP V4地址
mysqlx-bind-address = 0.0.0.0 #全部IP V4地址
重启:
mysql.server restart
OK!