安裝mysql-workbench並設置一個SSH隧道


  1. 系統環境:
    兩台CentOS主機,版本都是6.6,其中一台已安裝mysqld服務,另一台計划安裝workbench,用來遠程管理mysql服務器。
    CentOS Host1:192.168.1.130,安裝mysql,作為mysql服務器。
    CentOS Host2:192.168.1.109,安裝workbench,作為遠程客戶端。
  2. 安裝並運行workbench
    1. 添加MySQL Yum Repository倉庫
      在mysql官網上,找到Yum repository,下載對應版本的repo安裝包。
      根據當前使用的平台,當然是選擇標紅的這個版本。
      我們可以復制下載鏈接,然后在主機內利用wget命令下載。 
      1 [root@CentOS ~]# wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm    下載repo的安裝包
      2 [root@CentOS ~]# yum localinstall mysql-community-release-el6-5.noarch.rpm    本地安裝
      3 [root@CentOS ~]# yum clean all    清空倉庫緩存
      4 [root@CentOS ~]# yum update       更新軟件倉
      5 [root@CentOS ~]# yum repolist enabled    查看是否已經有可用的mysql源 
    2. 安裝mysql-workbench
      1 [root@CentOS ~]# yum search workbench    搜索workbench安裝包
      2 [root@CentOS ~]# yum install mysql-workbench-community    雲安裝workbench

      此處並沒有順利安裝下去,在分析依賴性時報錯:
      Error: Package: mysql-workbench-community-6.1.7-1.el6.i686 (mysql-tools-community)
        Requires: libtinyxml.so.0

      在google之后,發現一篇解決方法,見http://superuser.com/questions/785814/installing-mysql-workbench-on-centos,采納的第一個答案頁面已經找不到了,第二個答案也是可以的。總之意思就是要安裝tinyxml這個東東,tinyxml-2.6.1-1.3.i686.rpm下載地址為ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/sibbi77:/RHEL6-EPEL-deps/CentOS_CentOS-6/i686/tinyxml-2.6.1-1.3.i686.rpm。

      1 [root@CentOS ~]# wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/sibbi77:/RHEL6-EPEL-deps/CentOS_CentOS-6/i686/tinyxml-2.6.1-1.3.i686.rpm
      2 [root@CentOS ~]# yum localinstall tinyxml-2.6.1-1.3.i686.rpm    安裝tinyxml
      3 [root@CentOS ~]# yum install mysql-workbench-community 再嘗試安裝workbench一次,這次成功了
    3. 在遠程客戶端主機上建立SSH_tunnel

      接下來就是在客戶端主機上為你運行MySQL服務的主機設置一個遠程連接。當然,你可以直接通過圖形化的Workbench連接你的遠程MySQL服務器(在數據庫開放了遠程連接后)。然而,這樣做有很大的安全風險,因為有些人很容易竊聽你的數據庫傳輸信息,並且一個公開的MySQL端口(默認為3306)會是另外一個攻擊入口。
      一個比較好的方法是關掉遠程訪問數據庫服務功能,(僅允許在VPS 上的127.0.0.1訪問)。然后在本地客戶機和遠程VPS之間設置一個SSH隧道,這樣的話,和MySQL之間的數據能安全地通過它的本地回環接口上中繼。相比較設置一個SSL加密的連接來說,配置SSH隧道需要很少的操作,因為它僅僅需要SSH服務,並且在大多數的linux主機上已經部署了。
      $ ssh user@remote_vps -L 3306:127.0.0.1:3306 -N



    4. 運行workbench
      SSH-tunnel已建立,現在啟動workbench,並創建mysql連接。
      1 [root@CentOS ~]# mysql-workbench    當然前提是已安裝圖形化桌面環境

      在workbench上添加mysql連接:


      注意:因為隧道設置的是127.0.0.1:3306,所以主機名字段必須是127.0.0.1,而不能是遠程VPS的IP地址或者主機名。
      連接上之后就可以操作遠程主機上的數據庫了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM