以下方法摘錄自百度經驗,僅供參考:
首先看報錯窗口。
2
經查閱,錯誤原因是:本地IP(xxx.xxx.xxx.xxx)沒有訪問遠程數據庫的權限。
於是下面開啓本地IP(xxx.xxx.xxx.xxx)對遠程mysql數據庫的訪問權限。
3
首先遠程連接進入服務器,在cms中輸入mysql -u root -p,然後回車,輸入密碼後回車進入mysql命令行。
4
輸入use mysql;
5
輸入select user,password,host from user;
可以看到host中只有localhost主機。我們需要將xxx.xxx.xxx.xxx也添加到這裏纔對。
6
添加方法如下:
輸入
grant all privileges on *.* to root@"xxx.xxx.xxx.xxx" identified by "密碼";
這相當於是給IP-xxx.xxx.xxx.xxx賦予了所有的權限,包括遠程訪問權限。
然後再輸入
flush privileges;
這相當於是重新加載一下mysql權限,這一步必須有。
7
再次輸入select user,password,host from user;
可以看到host中已經有了新加的IP。
8
現在再次用Navicat for MySQl訪問遠程mysql數據庫,已經能正常打開了。
問題解決。
9
不過還有一個問題,發現雙擊打開某張表的時候很慢,至少要3秒。
原因是:
當遠程訪問mysql時, mysql會解析域名, 所以會導致訪問速度很慢,會有2,3秒延時!
解決辦法:
修改mysql安裝目錄下的my.ini,加上下面這個配置可解決此問題。在[mysqld]下加入:
skip -name -resolve
保存退出後重啓mysql服務。
然後訪問速度就和本地一樣快啦。
END