首先看報錯視窗。
經查閱,錯誤原因是:本地ip(xxx.xxx.xxx.xxx)沒有訪問遠端資料庫的許可權。
於是下面開啟本地ip(xxx.xxx.xxx.xxx)對遠端mysql資料庫的訪問許可權。
首先遠端連線進入伺服器,在cms中輸入mysql-uroot-p,然後回車,輸入密碼後回車進入mysql命令列。
輸入usemysql;
輸入selectuser,password,hostfromuser;
可以看到host中只有localhost主機。我們需要將xxx.xxx.xxx.xxx也新增到這裡才對。
新增方法如下:
輸入
grantallprivilegeson*.*toroot@"xxx.xxx.xxx.xxx"identifiedby"密碼";
這相當於是給ip-xxx.xxx.xxx.xxx賦予了所有的許可權,包括遠端訪問許可權。
然後再輸入
flushprivileges;
這相當於是重新載入一下mysql許可權,這一步必須有。
再次輸入selectuser,password,hostfromuser;
可以看到host中已經有了新加的ip。
現在再次用navicatformysql訪問遠端mysql資料庫,已經能正常打開了。
問題解決。
不過還有一個問題,發現雙擊開啟某張表的時候很慢,至少要3秒。
原因是:
當遠端訪問mysql時,mysql會解析域名,所以會導致訪問速度很慢,會有2,3秒延時!
解決辦法:
修改mysql安裝目錄下的my.ini,加上下面這個配置可解決此問題。在[mysqld]下加入:skip-name-resolve
儲存退出後重啟mysql服務。
然後訪問速度就和本地一樣快啦。
首先看報錯視窗。
經查閱,錯誤原因是:本地ip(xxx.xxx.xxx.xxx)沒有訪問遠端資料庫的許可權。
於是下面開啟本地ip(xxx.xxx.xxx.xxx)對遠端mysql資料庫的訪問許可權。
首先遠端連線進入伺服器,在cms中輸入mysql-uroot-p,然後回車,輸入密碼後回車進入mysql命令列。
輸入usemysql;
輸入selectuser,password,hostfromuser;
可以看到host中只有localhost主機。我們需要將xxx.xxx.xxx.xxx也新增到這裡才對。
新增方法如下:
輸入
grantallprivilegeson*.*toroot@"xxx.xxx.xxx.xxx"identifiedby"密碼";
這相當於是給ip-xxx.xxx.xxx.xxx賦予了所有的許可權,包括遠端訪問許可權。
然後再輸入
flushprivileges;
這相當於是重新載入一下mysql許可權,這一步必須有。
再次輸入selectuser,password,hostfromuser;
可以看到host中已經有了新加的ip。
現在再次用navicatformysql訪問遠端mysql資料庫,已經能正常打開了。
問題解決。
不過還有一個問題,發現雙擊開啟某張表的時候很慢,至少要3秒。
原因是:
當遠端訪問mysql時,mysql會解析域名,所以會導致訪問速度很慢,會有2,3秒延時!
解決辦法:
修改mysql安裝目錄下的my.ini,加上下面這個配置可解決此問題。在[mysqld]下加入:skip-name-resolve
儲存退出後重啟mysql服務。
然後訪問速度就和本地一樣快啦。