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、再次连接成功

 

 完毕!