很多人在本地開發習慣了之後,會發現有一天用本地的navicat鏈接遠程服務器數據庫連不上了,抓耳撓腮,下面我說說這個方法,我也是踩了坑才發現這個方法我試過,後來可能是人品問題,沒通過,再試的時候發現通過了。這裏以CentOS7.4(版本其實沒多大差別我覺得)爲例介紹。
首先在服務器上:mysql -uroot -p 連接數據庫,
第一種:use mysql; //切換數據庫
mysql> use mysql; //切換數據庫
mysql> select host,user,password from user; //查看遠程用戶及權限
或者用 :
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
這一步直接查看你mysql數據庫用戶表中的數據庫用戶有哪些用戶和權限,我這裏還未創建測試用戶,
接下來創建一個 測試用戶 用於遠程登錄管理數據庫,
可以用這個用戶名密碼直接用來在navicat上登錄管理遠程數據庫,
mysql> create user test identified by '123456'; //test用戶名123456密碼
mysql> grant all privileges on *.* to 'test'@'%'identified by '123456' with grant option;
mysql>flush privileges;
至此mysql遠程訪問數據庫的用戶新建完成,
最後重啓服務器就可以用navicat連接遠程數據庫了(用自己創建的用戶名密碼)!
如果還是沒有解決,就是3306端口的問題了,看看開了沒(我表示這是我的坑,我出來了)
這裏說一下我用的是阿里雲,需要單獨的開啓每個自己需要的端口(設置安全組)!