最近使用Navicat for MySQl訪問遠程mysql數據庫,出現報錯,顯示“1130 - Host'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server“。

錯誤原因是:本地IP(xxx.xxx.xxx.xxx)沒有訪問遠程數據庫的權限。
於是下面開啟本地IP(xxx.xxx.xxx.xxx)對遠程mysql數據庫的訪問權限。
解決辦法如下:
1、在服務器端,打開cmd窗口,進入mysql 安裝目錄bin 下,輸入mysql -u root -p,然后回車,輸入密碼后回車進入mysql命令行。
2、輸入use mysql;
3、輸入select user,host from user;
可以看到host中只有localhost主機。我們需要將xxx.xxx.xxx.xxx也添加到這里才對。
4、
添加方法如下:
輸入
grant all privileges on *.* to root@"xxx.xxx.xxx.xxx" identified by "密碼";
這相當於是給IP-xxx.xxx.xxx.xxx賦予了所有的權限,包括遠程訪問權限。
然后再輸入
flush privileges;
這相當於是重新加載一下mysql權限,這一步必須有。
5、再次輸入select user,host from user;
可以看到host中已經有了新加的IP。
6、再次在客戶端用Navicat for MySQl訪問遠程mysql數據庫,已經能正常打開了。
參考鏈接:http://jingyan.baidu.com/article/b907e627b0e3b846e7891cc9.html
