前言
最近,小编在阿里云的ECS上部署了一个MYSQL服务,然后用DBeaver测试连接时,报如下允许连接信息:
null, message from server: "Host 'xx.xx.xx.xx' is not allowed to connect to this MySQL server"
出现这个提示,是由于我们使用root用户登录时,没有给root用户设置能访问的机器,采用授权法,授权所有机器都可以访问。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
执行成功如图:
特别注意,执行完上述语句后,一定要执行下面这句语句刷新权限,使修改的root权限生效。
flush privileges;
执行成功如图:
操作完上述步骤人仍然不行,再尝试改表法:
update user set host = ‘%’ where user = ‘root’;
执行完毕,刷新权限,使修改的root权限生效。
上述两个步骤仍无法连接,查询看看3306端口是否开了。
firewall-cmd --list-ports # 只看端口信息
#开端口命令
firewall-cmd --zone=public --add-port=80/tcp --permanent
#重启防火墙
firewall-cmd --reload