MySQL远程连接会报错。我这里的环境是windows10、MySQL8.0 以及navicat 12.
1.首先要把防火墙的规则开启:
Windows Defender-》防火墙-》高级设置-》入站和出站规则-》文件和打印机ipv4-》开启规则
下面是入站规则开启,出站规则一样操作。
2.开放MySQL端口3306,如下按照提示进行下一步开启即可
通过命令查看ip和远程ping能否跑通,如下可以看到已经通了
查看IP:ipconfig
通ping:ping+ip
3.这时候连接MySQL 8 通常会报错如下:
远程的Host不允许连接,这个时候需要开启所有人都可以访问权限,即host ="%" :
登录mysql >use mysql; >update user set host ="%" where user = "root"; > flush privileges;
这时候就可以继续连接了。
但是又报错如下:
可以看到mysql8.0的密码格式为sha2,可能navicat还没支持,所以还不能登录,通过改密码格式命令如下:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
此时就可以远程连接navicat了。