安装mysql-workbench并设置一个SSH隧道
-
系统环境:
两台CentOS主机,版本都是6.6,其中一台已安装mysqld服务,另一台计划安装workbench,用来远程管理mysql服务器。
CentOS Host1:192.168.1.130,安装mysql,作为mysql服务器。
CentOS Host2:192.168.1.109,安装workbench,作为远程客户端。 -
安装并运行workbench
- 添加MySQL Yum Repository仓库
在mysql官网上,找到Yum repository,下载对应版本的repo安装包。
根据当前使用的平台,当然是选择标红的这个版本。
我们可以复制下载链接,然后在主机内利用wget命令下载。1 [[email protected] ~]# wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm 下载repo的安装包 2 [[email protected] ~]# yum localinstall mysql-community-release-el6-5.noarch.rpm 本地安装 3 [[email protected] ~]# yum clean all 清空仓库缓存 4 [[email protected] ~]# yum update 更新软件仓 5 [[email protected] ~]# yum repolist enabled 查看是否已经有可用的mysql源
-
安装mysql-workbench
1 [[email protected] ~]# yum search workbench 搜索workbench安装包 2 [[email protected] ~]# 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 [[email protected] ~]# 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 [[email protected] ~]# yum localinstall tinyxml-2.6.1-1.3.i686.rpm 安装tinyxml
3 [[email protected] ~]# yum install mysql-workbench-community 再尝试安装workbench一次,这次成功了 - 在远程客户端主机上建立SSH_tunnel
接下来就是在客户端主机上为你运行MySQL服务的主机设置一个远程连接。当然,你可以直接通过图形化的Workbench连接你的远程MySQL服务器(在数据库开放了远程连接后)。然而,这样做有很大的安全风险,因为有些人很容易窃听你的数据库传输信息,并且一个公开的MySQL端口(默认为3306)会是另外一个攻击入口。
一个比较好的方法是关掉远程访问数据库服务功能,(仅允许在VPS 上的127.0.0.1访问)。然后在本地客户机和远程VPS之间设置一个SSH隧道,这样的话,和MySQL之间的数据能安全地通过它的本地回环接口上中继。相比较设置一个SSL加密的连接来说,配置SSH隧道需要很少的操作,因为它仅仅需要SSH服务,并且在大多数的linux主机上已经部署了。
$ ssh [email protected]_vps -L 3306:127.0.0.1:3306 -N
- 运行workbench
SSH-tunnel已建立,现在启动workbench,并创建mysql连接。1 [[email protected] ~]# mysql-workbench 当然前提是已安装图形化桌面环境
在workbench上添加mysql连接:
注意:因为隧道设置的是127.0.0.1:3306,所以主机名字段必须是127.0.0.1,而不能是远程VPS的IP地址或者主机名。
连接上之后就可以操作远程主机上的数据库了。
- 添加MySQL Yum Repository仓库