非现场mysql访问

我正在将我的mysql数据库移到异地,大多数情况下,在同一个networking上的一个单独的服务器上运行的Web应用程序(私人使用)都需要访问它。 所以从我读的最好的是,MySQL数据库只能通过networking访问,而不是暴露给外部世界。 不过,我正在使用我写的Excel插件访问数据库(在只读的基础上),我想继续这样做。 最好的办法是什么?

我喜欢MySQL代理的想法,坐在本地服务器上,通过ssh隧道连接到webapp服务器,但“MySQL代理”仍然是alpha,所以看起来并不理想。

我可以让每个客户端都手动打开一个SSH隧道,但这对于其他Excel插件用户来说太不方便了。

我可以build立一个VPN,但这似乎是矫枉过正…也许不是?

有任何想法吗?

有三件事你想看看:

  1. 在MySQL中,请确保正确设置您的GRANT,因此每个用户都有正确的访问权限,只有有限的IP地址才能保护密码:GRANT SELECT,INSERT,UPDATE,DELETE ON database。* TO'user1'@'ip.add。由“密码”识别;
  2. 设置一个防火墙,将访问端口3306限制为您信任的IP地址。
  3. 查看SSLencryption会话: http ://dev.mysql.com/doc/refman/5.0/en/secure-connections.html您可以将您的GRANT设置为需要SSL连接。