接下来是为你运行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及其以下的版本,性能部分会以灰色显示。
结论