安全的MySQL复制; SSL或SSH隧道?

我有两个服务器之间的主 – 主MySQL复制设置。 我即将把一个移到另一个位置,所以复制将通过互联网进行,当然也需要保护。

据我所知,我基本上有两个select:

  1. 在MySQL复制中使用内置的SSL支持。
  2. 使用SSH隧道来转发用于复制的端口。

是否有重要的安全,性能或维护的好处,以select一个吗?

下面的输出让我觉得我根本不能使用选项1。 不过,我仍然想知道每个人的利弊。

编辑:我看得更远,我确实有ssl的支持。 现在只是禁用了。

mysql> SHOW VARIABLES LIKE '%ssl%'; +---------------+----------+ | Variable_name | Value | +---------------+----------+ | have_openssl | DISABLED | | have_ssl | DISABLED | | ssl_ca | | | ssl_capath | | | ssl_cert | | | ssl_cipher | | | ssl_key | | +---------------+----------+ 7 rows in set (0.00 sec) 

感谢您的任何帮助/build议。

我更喜欢SSL复制。

我发现使用内置function通常比尝试在独立安全层(例如SSH)中移植更清洁。 你定制的越多,在构build,debugging,监控和修复方面就需要做的工作越多,而第三方(如邮件列表)就越难以帮助你,如果它没有按预期的那样执行的话。

恩,这一个没有明确的答案。

使用embedded式的ssl包装是一个较低的开销方法 – 但是你可能与networkingI / O绑定一个沉重的msyql进程 – 但是这只是一个真正的问题,如果你正在复制到很多其他盒子和/或你“记忆力非常紧张。 通过一个额外的stream程路由stream量将增加非常less量的延迟 – 但是如果这些盒子在不同的networking中,这不太可能是显着的。

如果是我,我会比较过程中SSL的优点和完整的VPN链接(不一定是基于SSH的)。 后者将不仅支持mysql复制(专用networkingDNS / LDAP,远程访问,日志logging….),还可以使用NAT实现(例如,通过ssh / ssl运行ppp)来快速重新运行备份路由。 这种方法还提供了对通信问题的更简单和更一致的诊断。

根据MySQL文档,您可能没有启用SSL。 请看http://dev.mysql.com/doc/refman/5.1/en/secure-using-ssl.html以及如何在服务器上启动…另外,MySQL为MySQL复制提供了很好的参考SSL在http://dev.mysql.com/doc/refman/5.1/en/replication-solutions-ssl.html