Navicat連接遠程服務器mysql數據庫的問題

Navicat連接遠程伺服器mysql資料庫的問題。今天在本地虛擬機自寫項目時,發現一個問題,我在虛擬機Debian系統下搭建的 lamp 環境,利用samba服務共享到win下,在win下的 navicat 連接資料庫失敗,找瞭一下原因,是有一個配置文件的一個配置項需要提前更改,才能達到遠程訪問,解決方法如下。

1:進入Debian系統,vim /etc/mysql/my.cnf .這個是mysql的配置文件 到裡面把 bind-address= 127.0.0.1 這一句註釋 2:保存退出。重啟 mysql,service mysql restart 即可連接成功,

值得註意的是

這種簡單粗暴的解決方法隻適合本地虛擬機或者測試地址使用,如果真正運行的伺服器可以這樣讓別人遠程用root連接資料庫,那將會有災難性的後果,所以在這裡,介紹另一個相似但安全性更高的方法,隻是這個方法不另做配置的話,虛擬機裡面就起不到效果,這個也簡單,隻要給虛擬機設置添加一個網卡就好瞭

1:ifconfig 查看本機的IP地址,記住 eth0 和 eth1 這兩個網卡的ip地址 2:vim /etc/mysql/my.cnf 還是找到 bind-address = 127.0.0.1 這一句,註意這裡就不是註釋瞭,而是將 127.0.0.1 替換成剛才 eth0 這個網卡的 ip 地址; 保存退出; 重啟mysql; 3:這時,用上面的方法就連接不上瞭,我們需要通過ssh才能成功實現遠程連接 a) 打開 Navicat ,選中 ssh,先勾選 use ssh tunnel 選項,否則無法填寫信息


這裡的ip地址是 eth1 的ip地址。賬號和密碼是 伺服器的賬號和密碼,填寫完之後不要點擊ok或連接,因為這時隻是通過ssh連接到伺服器的設置 b) 填寫好 ssh 的信息之後,在選中 General 選項卡,這時我們就可以填寫連接伺服器上mysql的信息瞭,


Connection Name 這個地方是本地方便辨別的,不寫也可以, 註意瞭,ip 地址這一欄就應該填寫我們剛才寫進my.cnf 裡bind-address的那個IP地址,也是就我們剛才看到的 eth0這個網卡的ip 下面的就是伺服器端 mysql 的賬號和密碼瞭,填寫完整之後就可以正常連接啦 #這樣的好處在與多加瞭一層 SSH 協議的防護,讓項目伺服器的資料庫更加安全。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *