我一直在使用一个安装了 EBS、php 和 MySQL 的 EC2 实例。我想使用负载平衡。
我想知道如何在 EC2 实例之间共享 MySQL 数据库中的数据,提前致谢。
答案1
目前还不完全清楚你在问什么,但这是一个标准设置:
一个运行 MySQL 的实例。
运行您的 Web 服务器和应用软件的一个或多个实例。
指向前端 Web 服务器的负载平衡器。
这是我之前写的一篇文章,描述了社区使用 EBS 运行 MySQL 的最佳实践:
使用 EBS 在 Amazon EC2 上运行 MySQL
http://aws.amazon.com/articles/1663
您需要确保 MySQL 正在监听 0.0.0.0 而不是 127.0.0.1(/etc/my.cnf 中的绑定地址)。
您还需要确保 Internet 上没有人可以通过数据库端口(通常为 3306)连接到您的 MySQL 服务器。您的安全组应配置为只有您的应用程序服务器才能连接到数据库服务器。
您还应该考虑直接使用 Amazon RDS (关系数据库服务器)。如果 Amazon 的设置适合您,则无需自行管理 MySQL。
答案2
您无法通过常规复制来实现这一点。假设 SQL 服务器包含银行余额。我连接到一台服务器并将 1,000 美元转给 Jack。一瞬间之后,我连接到另一台服务器并将同样的 1,000 美元转给 Jill。这两台 SQL 服务器现在如何共享数据?
你实际上有两个基本选择。你可以实施特定于应用程序的解决方案。(你的应用程序是什么?可能有一个简单的应用程序。)或者你可以使用像MySQL 集群。