Linux下使用圖形化工具MySQL WorkBench遠端管理MySQL
如果你在一個遠端VPS上運行了MySQL伺服器,你會如何管理你的遠端資料庫主機呢?基於web的資料庫管理工具例如phpMyAdmin或者Adminer可能會是你第一個想起的。這些基於web的管理工具需要一個正常啟動並執行後端的web服務和PHP引擎。但是,如果你的VPS僅僅用來做資料庫服務(例如,資料庫與其它服務獨立存放的分布式結構),為偶爾的資料庫管理提供一整套的LAMP是浪費VPS資源的。更糟的是,LAMP所開啟的HTTP連接埠可能會成為你VPS資源的安全性漏洞。
作為一種選擇,你可以使用在一台客戶機上運行本地的MySQL用戶端,當然,如果沒有別的選擇,一個純淨的MySQL命令列用戶端將是你的預設選擇。但是命令列用戶端的功能是有限的,因為它沒有生產級資料庫管理功能,例如:可視化SQL開發、效能調優、模式驗證等等。你是否在尋找一個成熟的MySQL管理工具,那麼一個MySQL的圖形化管理工具將會更好的滿足你的需求。
什麼是MySQL Workbench?
作為一個由Oracle開發的整合的資料庫管理工具,MySQL Workbench不僅僅是一個簡單的MySQL用戶端。簡而言之,Workbench是一個跨平台的(如:Linux,MacOX,Windows)資料庫設計、開發和管理的圖形化工具。MySQL Workbench 社區版是遵循GPL協議的。作為一個資料庫管理者,你可以使用Workbench去配置MySQL服務、管理MySQL使用者、進行資料庫的備份與還原、監視資料庫的健康情況,所有的都在對方便使用的圖形化環境下處理。
在這個手冊裡,讓我們示範下如何在Linux下安裝和使用MySQL Workbench。
在Linux上安裝MySQL Workbench
你可以在任何一個案頭linux機器上運行MySQL Workbench來設定你的資料庫管理環境。雖然一些Linux發行版(例如:Debian/Ubuntu)在他們的軟體源中已經有了MySQL Workbench,但是從官方源中安裝是一個好的方法,因為他們提供了最新的版本。這裡介紹了如何設定一個官方的Workbench軟體源和從中安裝它。
基於 Debian 的案頭 (Debia, Ubuntu, Mint):
到其官方網站,選擇一個和你環境匹配的DEB檔案,並下載安裝:
例如,對於 Ubuntu 14.10:
$ wget http://dev.mysql.com/get/mysql-apt-config_0.3.4-2ubuntu14.10_all.deb
$ sudo dpkg -i mysql-apt-config_0.3.4-2ubuntu14.10_all.deb
對於 Debian 7:
$ wget http://dev.mysql.com/get/mysql-apt-config_0.3.3-1debian7_all.deb
$ sudo dpkg -i mysql-apt-config_0.3.3-1debian7_all.deb
當你安裝DEB檔案時,你會看到下面的配置菜單,並且選擇配置那個MySQL產品
選擇“Utilities”。完成配置後,選擇“Apply”去儲存配置。然後,更新包索引,並且安裝Workbench。
$ sudo apt-get update
$ sudo apt-get install mysql-workbench
基於 Red Hat 的案頭 (CentOS, Fedora, RHEL):
去官網下載並安裝適合你Linux環境的RPM源包。
例如,對於 CentOS 7:
$ wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
$ sudo yum localinstall mysql-community-release-el7-5.noarch.rpm
對於 Fedora 21:
$ wget http://dev.mysql.com/get/mysql-community-release-fc21-6.noarch.rpm
$ sudo yum localinstall mysql-community-release-fc21-6.noarch.rpm
驗證"MySQL Tools Community"源是否被安裝:
$ yum repolis enabled
安裝Workbench
$ sudo yum install mysql-workbench-community
設定遠端資料庫的安全連線
接下來是為你運行MySQL服務的VPS設定一個遠端連線。當然,你可以直接通過圖形化的Workbench串連你的遠程MySQL伺服器(在資料庫開放了遠端連線後)。然而,這樣做有很大的安全風險,因為有些人很容易竊聽你的資料庫傳輸資訊,並且一個公開的MySQL連接埠(預設為3306)會是另外一個攻擊入口。
一個比較好的方法是關掉遠端存取資料庫服務功能,(僅允許在VPS 上的127.0.0.1訪問)。然後在本地客戶機和遠程VPS之間設定一個SSH隧道,這樣的話,和MySQL之間的資料能安全地通過它的本地迴環介面上中繼。相比較設定一個SSL加密的串連來說,配置SSH隧道需要很少的操作,因為它僅僅需要SSH服務,並且在大多數的VPS上已經部署了。
讓我們來看看如何來為一個MySQL Workbench設定一個SSH隧道。
在這個設定裡,不需要你開放遠端存取MySQL服務。
在一個運行了Workbench的本地客戶機上,鍵入下面的命令,替換'user'(遠程 VPS 的使用者名稱)和'remote_vps'(遠程 VPS 的地址)為你自己的資訊:
$ ssh user@remote_vps -L 3306:127.0.0.1:3306-N
你會被要求輸入你VPS的SSH密碼,當你成功登陸VPS後,在本地的3306連接埠和遠程VPS的3306連接埠之間將會建立一個SSH隧道。這裡你不會在前台看到任何資訊顯示。
或者你可以選擇在後台運行SSH隧道,按CTRL+Z停止當前的命令,然後輸入bg並且ENTER
這樣SSH隧道就會在後台運行了。
使用MySQL Workbench遠端管理MySQL服務
在建立好SSH隧道後,你可以通過MySQL Workbench去遠端連線MySQL服務了。
輸入下面命令啟動Workbench:
$ mysql-workbench
點擊Workbench頁面上面的“加號”表徵圖去建立一個新的資料庫連接,接著會出現下面的串連資訊。
- Connection Name: 任意描述 (例如: My remote VPS database)
- Hostname: 127.0.0.1
- Port: 3306
- Username: MySQL 使用者名稱 (例如 root)
注意:因為隧道設定的是127.0.0.1:3306,所以主機名稱欄位必須是127.0.0.1,而不能是遠程VPS的IP地址或者主機名稱。
當你設定好一個新的資料庫連接後,你會在Workbench視窗看到一個新的框,點擊那個框就會實際去串連遠端MySQL服務了。
當你登入到MySQL 伺服器後,你可以再左側面板看到各種管理工作。讓我們來看一些常見的管理工作。
MySQL Server Status
該菜單顯示了展示資料庫伺服器的資源使用方式的即時監控面板。(例如:流量、連結、讀寫)
Client Connections
用戶端串連數是一個極其重要的監控的資源,這個菜單顯示了每個串連的詳細資料。
使用者和許可權
這個菜單允許你管理MySQL使用者,包括他們的資源限制和許可權。
MySQL Server Administration
你可以啟動或關閉MySQL服務,並且檢查它的服務日誌。
Database Schema Management
可以可視化的查看、更改、檢查資料庫結構,在“Schemas”標題下選擇任何一個資料庫或表,然後右擊
Database Query
你可以執行任何的語句(只要你的許可權允許),並且檢查其結果。
此外,效能統計資料和報表僅用於MySQL5.6以上的版本。對於5.5及其以下的版本,效能部分會以灰色顯示。
結論
簡介且直觀的選項卡介面,豐富的特性,開源,使MySQL Workbench成為一個非常好的可視化資料庫設計和管理工具。為其減分的是它的效能。我注意到在一台運行繁忙的伺服器上,Workbench有時會變得異常緩慢,儘管它的效能差強人意,我依然認為MySQL Workbench是MySQL資料庫管理員和設計人員必備的工具之一。
你曾在你的生產環境中用過Workbench嗎?或者你還有別的GUI工具可以推薦?請分享你的經驗吧。
Ubuntu下安裝MySQL Workbench
MySQL Workbench中文教程
MySQL Workbench “Error Code: 1175” 的解決方案
MySQL Workbench 6面世 GUI獲重大改進
CentOS 7 下安裝MySQL WorkBench
MySQL Workbench 的詳細介紹:請點這裡
MySQL Workbench 的:請點這裡
via: http://xmodulo.com/remote-mysql-databases-gui-tool.html
作者:Dan Nanni 譯者:tyzy313481929 校對:wxy
本文由 LCTT 原創翻譯,Linux中國 榮譽推出
本文永久更新連結地址: