下面介紹Navicat連接騰訊雲服務器上的數據庫的兩種方法:
方法一:【不需要修改相關遠程客戶端連接權限】
點擊安裝好的桌面navicat圖標,進入后如下圖:
連接方法:ssh中輸入自己服務器的外網ip地址,登錄服務器賬號和密碼
如下圖:
再設置常規屬性中,數據庫的連接,主機填localhost,因為mysql安裝在了本地服務器上,然后填入mysql的用戶名及密碼
如下圖:
方法二:【修改相關MySQL遠程客戶端連接權限】
下面命令最好在root用戶下執行使用:【否則可能會一些文件修改權限受阻問題,需要手動修改用戶對文件的使用權限】
1、我們需要更改 3306端口,查看3306 端口是否對外開放,而一般MySQL 默認情況下是不開放對外訪問功能的。
使用下面語句進行查詢:
# netstat -an | grep 3306
如果查詢結果如下,則需要我們更改 MySQL 配置文件。
查詢結果可以看出,MySQL的3306端口只是監聽本地的連接,這樣就阻礙了外部IP對該數據庫的訪問,修改 MySQL 配置文件:
# /etc/mysql/mysql.conf.d/mysqld.cnf
在MySQL配置文件中找到 bind-address = 127.0.0.1 這一行
將bind-address = 127.0.0.1 這行注釋掉或者改為你想要使用的客戶端主機 ip。如下圖所示:
這樣,我們的 MySQL 遠程訪問端口就開啟成功了。
2、我們進入 MySQL 命令界面,運行下列SQL 語句:
使用下面命令先在服務器終端上登錄mysql的root用戶
# mysql -uroot -p
然后輸入root用戶密碼就可以登錄mysql了
使用下面命令切換為使用mysql數據庫
mysql> use mysql;
使用下面命令查看用戶是否具有訪問權限:
mysql> select user, host from user;
如下圖所示:
上面顯示root用戶只用訪問本地的權限,我們需要通配符 % 來修改 root 用戶對應的 host 字段,使其具有訪問所有 ip 地址的權限:
mysql> update user set host = '%' where user = 'root';
如下圖所示:
如果拋出如下異常:
Duplicate entry '%-root' for key 'PRIMARY'
說明有多個root用戶紀錄在user表中了,我們重新執行下面命令就可以看到字段 host 的 % 值:
mysql> select host from user where user = 'root';
我們執行:
mysql> flush privileges;
刷新一下 MySQL 的系統權限相關表。
下面還要確認的一件事就是確認客戶端用戶是否具有權限,我們給與他們相應的訪問權限:
mysql> grant all privileges on *.* to username@"%" identified by "password";
最后退出mysql重啟一下 MySQL 服務:
mysql> exit; //退出mysql #sudo mysql restart //重啟mysql服務
3、服務端設置好了,我們在 Navicat 客戶端設置一下連接:
打開 Navicat軟件,點擊左上方的 "連接",設置一下數據庫的連接名,服務器外網ip地址,mysql用戶名及密碼等,
點擊測試連接成功后再點擊確定按鈕便能在 Navicat 中遠程操作服務器上的 MySQL 了。
如下圖所示:
到這里,Navicat連接騰訊雲服務器上的數據庫的兩種方法就結束了,希望可以幫助大家。。。