解决Navitat for MySQL不能远程连接数据库的方法
navicat是一个非常不错的数据库操作工具,但是在远程连接服务器的MySQL数据库的时候,会出现连接拒绝的情况。
ERROR 1130:主机ip is not allowed to connect this mysql
找了很多方法比如修改准入ip、关防火墙 都不行。终于,找到这个方法——利用HTTP通道连接。
http通道连接:
1、 打开新建连接,在主机名IP地址那里填写localhost
- 用户名与密码一栏则填写你所在的数据库用户名与密码。
- 这时候还不能连接,需要通过Http通道的形式进行数据库连接。
2、 点击连接属性标签栏中的Http,勾选使用Http通道后,在通道地址一栏输入你的网址与database.php文件地址。
如: http://www.mydomain.com/database.php
这个database.php文件在点击确定保存了连接信息后,会于NaviCat的文件根目录下自动生成一个php文件,名字为ntunnel_mysql.php文件,直接重命名并上传就OK了。
2016年11月2日更新:
昨晚逛老左博客的时候,看到一篇关于Navicat报错解决方法,在此补充记录一下:
1、 报错 :2003 - Can’t connect to MySQL server on “IP地址”(10038)
这个问题应该是我们防火墙没有设置3306权限:1
2
3
4/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
```
```
/etc/init.d/iptables save
设置3306权限并保存,这个问题可以解决。
2、 报错 :1130 - Host “IP地址” is not allowed to connect to this MySQL server
这个错误链接问题是告诉我们本地的IP地址无权限链接数据库:
mysql -u root -p
grant all privileges on *.* to 'root'@'%' identified by '数据库密码' with grant option;
ps:此报错之前的方法也可解决。