程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 如何安全的遠程使用MySQL GUI工具

如何安全的遠程使用MySQL GUI工具

編輯:關於MYSQL數據庫

MySQL是易於使用的數據庫的同義詞,大部分數據庫驅動的網絡應用都把MySQL做為首選數據庫,所以MySQL在很多網絡服務器上都有應用。盡管MySQL命令語句工具非常有用,但是如果你沒有熟練的掌握SQL語法,工作起來就會耗費相當多的時間。於是 PHPMyAdmin這樣的工具應運而生。

MySQL開發者們自行開發出了能夠連接本地或者遠程MySQL數據庫的GUI工具。這些工具包括MySQL管理員(MySQL Administrator),MySQL Query浏覽器(MySQL Query Browser)以及MySQL 工作台(MySQL Workbench)等,都是相當出色的能夠輕松操作和創建MySQL數據庫的圖形化工具。

使用這些工具操作遠程數據庫時有一個問題,它們經常要求MySQL 在網絡界面進行響應;大部分MySQL管理員只允許MySQL對localhost或socket進行響應,而拒絕遠程連接。這是一種非常有效的安全措施;但是在這種情況下,如果不施展一些手段就無法遠程使用這些GUI工具。在這種情況下,使用ssh來暗中進行連接是一個非常不錯的方法。因為這樣做不僅能夠進行很嚴格的認證和加密,同時還不會破壞只允許MySQL相應本地連接的規則。

首先,要使MySQL只響應localhost(在默認情況下,MySQL只響應對連接本地socket的要求),需要調整設置讓MySQL允許網絡連接,然後重啟服務器。MySQL應該只響應loopback上的連接,或者本地及網絡界面上的連接。然後,編輯發出連接要求的主機上的 ~/.ssh/config文件,然後插入以下內容:

以下為引用的內容:
  Host remotesql

  ?Hostname webserver.domain.com

  ?User joe

  ?LocalForward *:13306 localhost:3306
 


這樣就會以用戶joe的身份連接到webserver.domain.com,並將本地系統上13306端口推送到 webserver.domain.com上的3306端口(標准MySQL端口)。請注意,我們並沒有將推送端口限制在本地設備的本地界面上,而是針對全部界面;也就是說我們能夠連接到me.domain.com端口13306(假設me.domain.com是本地工作站的名稱),除了連接本地主機端口13306(這點非常重要,因為GUI工具將會嘗試通過socket連接localhost,而這是我們所不希望發生的)。現在可以執行以下命令來啟動連接。

$ ssh -f -N remotesql

最後,啟動MySQL管理器,讓其使用你的信用狀與13306端口上的me.domain.com進行連接。如果出現"訪問被拒絕“的錯誤,請檢查遠程數據庫上的許可信息。為了進行正確的連接,可能必須對[email protected]進行許可。

這樣就可以實現通過本地網絡上的任一系統(除非防火牆的規則禁止使用本地設備)跨過互聯網進行安全的連接,這樣就可以通過以下操作通過本地MySQL 命令語句來對遠程數據庫進行操作:

$ MySQL -u root -p -h me.domain.com -P 13306

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved