我从来没有使用过我的mysql数据库的主/从设置,所以请原谅,如果我没有意义。如何编写用于主从设置的PHP MySQL类?
我很好奇,比方说,我想有一个主数据库和3个从属数据库。我是否需要编写我的数据库类来连接和添加/更新/删除条目到主数据库,或者这是否自动化?
也为我的SELECT查询,我需要编码它随机选择一个随机数据库服务器?
我从来没有使用过我的mysql数据库的主/从设置,所以请原谅,如果我没有意义。如何编写用于主从设置的PHP MySQL类?
我很好奇,比方说,我想有一个主数据库和3个从属数据库。我是否需要编写我的数据库类来连接和添加/更新/删除条目到主数据库,或者这是否自动化?
也为我的SELECT查询,我需要编码它随机选择一个随机数据库服务器?
你想使用(和研究)是MySQL Replication。这完全独立于您的代码处理。您的数据库工作方式与1台或100台服务器相同。
主/从设置应该由MySQL服务器自动处理,所以你不应该需要任何特殊的代码来完成这个配置。
你听起来像你是想提高性能/平衡负载
是的,你需要做的主数据库的任何破坏性的变化。奴隶只能用于只读。您还需要小心,即不要立即写入主站并从站读取数据,否则数据可能尚未复制到从站。所以任何即时读取仍需要来自主人。
我不会建议随便选择一个奴隶。如果他们摊开你可以按地理区域做到这一点,或者如果您在集群中运行,您可以使用代理做负载均衡你..
这里是更多的一些信息,可以帮助
http://agiletesting.blogspot.com/2009/04/mysql-load-balancing-and-read-write.html
您应该考虑使用mysqlnd_ms
- PHP的复制和负载平衡插件。
我认为这是更好的解决方案,尤其是对于生产环境,因为它本身就是PHP,并且MySQL Proxy
仍然在Alpha版本中。
相关链接:
所以,我将不得不做出一个MySQL连接到主表,其余的将自己处理? – Criesto
我从来没有自己设置它,但是,是的,这就是我的理解。 [缓冲器的答案在下面](http://stackoverflow.com/a/7278215/119527)增加了解释。 –