出现报错:1130 - Host 'ipaddress' is not allowed to connect to this MySQL serve navicat,当前ip不允许连接到这个MySQL服务
解决当前ip无法连接远程mysql的方法
1. 查看mysql端口,并在服务器安全组中放开相应入方向端口后重启服务器
bash
sudo netstat -tulnp | grep mysql
查看端口有没有开放。确认对应端口防火墙都关闭了。(注意:如果部署在阿里云,记得阿里云上安全组对应的端口也要开放。意思同一个端口要开放两次)
2 确认都没有问题了,大概率是没有开放远程连接。
步骤一:登录mysql
bash
mysql -u root -p
步骤二: 切换到mysql数据库
bash
use mysql
步骤三:查询user表对应账号的host字段
user
表是存储在mysql
数据库中的一个核心权限表,它负责记录允许连接到MySQL服务器的账号信息以及这些账号的全局权限。其中user
账号对应的host
字段表示当前用户可以通过host内的ip访问mysql
bash
select host from user where user='root';
步骤四:修改对应用户的host字段
(%表示所有,localhost仅本地,或单独的某个ip)
bash
update user set host = '%' where user = 'root';
步骤五:查看是否修改成功,并重新加载权限表
bash
select host from user where user='root';
flush privileges;