我从来没有为我的mysql数据库使用过主/从设置,所以如果我在这里没有意义,请原谅。
我很好奇,假设我想要一个主数据库和 3 个从数据库。我需要编写我的数据库类来连接和添加/更新/删除条目到主数据库还是以某种方式自动化?
同样对于我的 SELECT 查询,我是否需要对其进行编码以随机选择一个随机数据库服务器?
我从来没有为我的mysql数据库使用过主/从设置,所以如果我在这里没有意义,请原谅。
我很好奇,假设我想要一个主数据库和 3 个从数据库。我需要编写我的数据库类来连接和添加/更新/删除条目到主数据库还是以某种方式自动化?
同样对于我的 SELECT 查询,我是否需要对其进行编码以随机选择一个随机数据库服务器?
您想要使用(和研究)的是MySQL Replication。这完全独立于您的代码来处理。您使用数据库就像有 1 台或 100 台服务器一样。
你听起来像你想提高性能/平衡负载
是的,您需要对主数据库进行任何破坏性更改。从站只能用于只读。您还需要注意不要立即写入主服务器并从从服务器读取,否则数据可能尚未复制到从服务器。所以任何瞬时读取仍然需要来自主人。
我不建议只是随机选择一个奴隶。如果它们分散,您可以按地理区域执行此操作,或者如果您在集群中运行,您可以使用代理为您进行负载平衡..
这里有一些可能会有所帮助的信息
http://agiletesting.blogspot.com/2009/04/mysql-load-balancing-and-read-write.html
您应该考虑使用mysqlnd_ms
- PHP 的复制和负载平衡插件。
我认为这是更好的解决方案,特别是对于生产环境,因为它是 PHP 原生的并且MySQL Proxy
仍处于 Alpha 版本。
有用的链接:
主/从设置应该由 MySQL 服务器自动处理,因此您不需要任何特殊代码来进行此配置。