如何使用圖形化工具遠程管理 Linux 上的 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) </ul>
注意:因為隧道設置的是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工具可以推薦?請分享你的經驗吧。
via: http://xmodulo.com/remote-mysql-databases-gui-tool.html
作者:Dan Nanni 譯者:tyzy313481929 校對:wxy
來源: https://linux.cn/article-5569-1.html