基于IP或SSH隧道远程MySQL?

我们需要从/到我们的mysql服务器的远程连接有两个原因。

  1. testing/更改:我们想连接到远程mysql服务器来pipe理数据库,例如sqlYOG
  2. 我们的生产networking服务器将使用不在同一IP上运行的MySQL服务器,所以我们需要configuration我们的应用程序使用外部远程mysql服务器

我读过有关使用SSH隧道和限制用户访问基于IP的MySQL。 我们的IP每隔24小时就会有一次变化,这样可能会变成一个派对玩家。

我们正在寻找一种安全而灵活的方式来build立到MySQL的远程连接。 对此有何build议?

只需使用MySQL本身的SSLfunction即可。 您甚至可以使用SSL客户端证书进行身份validation。

详情请参阅使用SSL进行安全连接 。

限制MySQL用户从localhost / 127.0.0.1访问,然后在每台客户机上执行:

ssh -L 127.0.0.1:3306:127.0.0.1:3306 user@remotehost 

现在,您只需连接到本地主机,即可连接到每台客户机上的MySQL数据库。 已经有客户机上运行的MySQL服务器? 只要将该行更改为:

 ssh -L 127.0.0.1:3307:127.0.0.1:3306 user@remotehost 

并使用端口3307.为了使其可视化,客户端机器的回送接口上的端口3306(或3307)实际上是秘密地在远程机器的回送接口上的端口3306。 值得注意的是,这适用于所有操作系统,虽然你发出的确切命令可能有点不同。