相信你們都有在遠程服務器上進行開發吧,其中 MySQL 的使用率應該也會挺高,若是使用 Navicat 等可視化工具來操做遠程數據庫不失爲一種很好的選擇,避免了在命令行寫 SQL 語句的操做。下面簡單介紹一下 Navicat 鏈接遠程數據庫的操做。mysql
首先咱們須要更改 3306端口,查看3306 端口是否對外開放,MySQL 默認狀況下是不開放對外訪問功能的。語句以下:sql
netstat -an | grep 3306
若是查詢結果以下,須要咱們更改 MySQL 配置文件。shell
能夠看出,mysql的3306端口只是監聽本地的鏈接,這樣就阻礙了外部IP對該數據庫的訪問,修改 MySQL 配置文件 my.conf :數據庫
vim /etc/mysql/my.cnf
找到vim
# Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1
將bind-address = 127.0.0.1
這行註釋掉或者改成你想要使用的客戶端主機 ip。服務器
至此 MySQL 遠程訪問端口就成功開啓了。less
咱們進入 MySQL 命令界面,運行下列SQL 語句,查看用戶是否具備訪問權限:工具
use mysql; select user, host from user;
返回結果以下:spa
咱們使用通配符 % 來修改 root 用戶對應的 host 字段,使具備訪問全部 ip 地址的權限:命令行
update user set host = '%' where user = 'root';
若是拋出以下異常:
Duplicate entry '%-root' for key 'PRIMARY'
說明有多個ROOT用戶紀錄在USER表中了,咱們從新執行:
select host from user where user = 'root';
便能看到字段 host 的 % 值。
咱們執行:
flush privileges;
刷新一下 MySQL 的系統權限相關表。
最後重啓一下 MySQL 服務:
sudo restart mysql
服務端設置好了,咱們在 Navicat 客戶端設置一下鏈接:
打開 Navicat,點擊左上方的 "鏈接",設置一下數據庫的用戶名,地址,密碼等,便能在 Navicat 中遠程操做服務器上的 MySQL 啦。