原因是mysql的使用者預設是沒有遠端訪問許可權的,因此當訪問程式與資料庫不是在同一伺服器時,就無法訪問了。解決辦法有兩種:
1.授權法:
賦予任何主機訪問資料的許可權
root@kerwin:/usr/local/mysql# bin/mysql -u root -p
mysql> grant all privileges on *.* to 'root'@'%' with grant option
mysql> flush privileges;
賦予特定ip主機訪問資料的許可權
mysql> grant all privileges on *.* to root@"***.***.***.***" identified by "youpassword" with grant option;
mysql> flush privileges;
2.改表法
root@kerwin:/usr/local/mysql# bin/mysql -u root -p
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;
mysql> flush privileges;
測試
重新連線成功
navicat連線遠端mysql伺服器
開啟mysql配置檔案,將檔案中的bind address 伺服器本地ip位址 這句話注釋掉,或者改為0.0.0.0,表示允許所有的ip訪問3306埠連線資料庫 sudo vim etc mysql my.conf includedir etc mysql conf.d includedir etc...
Navicat連線遠端資料庫報1251的錯誤
mysql8 之前的版本中加密規則是mysql native password,而在mysql8之後,加密規則是caching sha2 password。解決問題方法有兩種 方法2.把mysql使用者登入密碼加密規則還原成mysql native password.這裡採用方法2解決,具體操作步驟...
Navicat連線SQL Server資料庫失敗
常見錯誤 08001 命名管道提供程式,無法開啟與sql server的連線,08001 與sql server建立連線時發生了與網路相關的或特定於例項的錯誤,找不到或無法訪問伺服器,請檢查例項名稱是否正確以及sql server是否配置為允許遠端連線 解決方案 1 在cmd命令輸入 service...