- 系统环境:两台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 [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源
- 安装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一次,这次成功了
- 在远程客户端主机上建立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
- 运行workbench
SSH-tunnel已建立,现在启动workbench,并创建mysql连接。
1 [root@CentOS ~]# mysql-workbench 当然前提是已安装图形化桌面环境
在workbench上添加mysql连接:
注意:因为隧道设置的是127.0.0.1:3306,所以主机名字段必须是127.0.0.1,而不能是远程VPS的IP地址或者主机名。
连接上之后就可以操作远程主机上的数据库了。