數據庫的遠程連接一般是使用navicat進行連接的。
但是有時候遇到服務器安裝了mysql數據庫之後,navicat卻無法連接,以下是個人的解決方案。
1,首先確定端口打開
有的服務器的3306端口被防火牆關閉了,要手動打開。ESC服務器在安全組中打開,輕量級服務器在防火牆中打開。
2,修改用戶表
命令行登錄數據庫,修改mysql庫中的user表。
- 使用
mysql -u root -p
;命令後輸入密碼登錄。 - 使用
use mysql
;選擇mysql庫。 - 執行
update user set host = '%' where user = 'root';
修改root用戶訪問來自的來源,%
爲所有主機都可以訪問。 - 如果出現如下錯誤,是因爲mysql的安全機制發出的警告。
ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
。這時候可以執行set sql_safe_updates=0;
語句來關閉該安全機制(之後可以再打開); - 這時候再執行第三步的
update user set host = '%' where user = 'root';
語句,這時候navicat基本上就能遠程連接數據庫了。