解决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:此报错之前的方法也可解决。