Navicat连接MySQL数据库提示:1130, “Host ‘xxxx‘ is not allowed to connect to this MySQL server“
报错如下:之所以出现这个错误,是因为Mysql配置了不支持远程连接引起的#第九步:设置root用户可以远程登录#在装有MySQL的机器上登录MySQL mysql -u root -p密码#执行use mysql;#执行update user set host = ‘%’ where user = ‘root’;这一句执行完可能会报错,不用管它。#执行FLUSH PRIVILEGES;#updat
报错如下:
之所以出现这个错误,是因为Mysql默认配置了不支持远程连接引起的,可以看下,在安装MySQL的服务器上使用 mysql -u root -p 命令登录MySQL命令行:
输入用户密码。
查看root用户的权限
use mysql;
select host from user where user='root';
host字段代表什么意思?
Host列指定了允许用户登录所使用的IP,比如说root用户的host字段指定的值是101.101.1.1这个IP,那意思就是说root用户只能通过101.101.1.1这个IP的客户端去访问数据库。再比如说root用户的 Host字段设置为localhost,那么root用户只能通过本机客户端去访问。而%是个通配符,如果把root用户的host字段设置为%,那么root用户将可以在任何一个IP上都能连接上数据库,再比如root用户的Host设置为101.101.1.%,那么就表示只要是IP地址前缀为“101.101.1.”的客户端都可以连接。
到这里就明白了连接MySQL的时候为何会报上面的错误了吧,根据需要进行修改限制:
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
总结下:
host的值:
- 指定IP的话只有指定的IP才能访问
- 101.101.1.%只有101.101.1段的IP才能访问
- %表示所有IP都能访问

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)