Host 'xxx.xx.xxx.xxx' is not allowed to connect to this MySQL server

远程连接mysql报错,如下如所示:

1、感觉是服务器3306端口没有开放导致,查看:

 已经开放了3306端口号,排除端口的问题。

2、后来查看官网得知:root用户拒绝远程连接导致

我们用root用户本地登录mysql,查看user表

use mysql;

select * from user where User = 'root' G

“G”是为了格式化显示,方便阅读。

Host:localhost 表示只允许本地连接

 上图中给出了user表不同的Host字段的连接权限,得知我们要远程连接需要Host字段为“%”

3、所以我们需要新建立一个用户,并且是Host字段为“%”

CREATE USER 'crelle'@'%' IDENTIFIED BY '123456';

GRANT ALL PRIVILEGES ON *.* TO 'crelle'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

 4、再次连接成功

 完毕!

原文地址:https://www.cnblogs.com/crelle/p/13584151.html