【问题标题】:How to code PHP MySQL class for master and slave setup?如何为主从设置编写 PHP MySQL 类?
【发布时间】:2011-09-02 00:38:45
【问题描述】:

我从来没有为我的 mysql 数据库使用过主/从设置,所以如果我在这里没有任何意义,请原谅。

我很好奇,假设我想要一个主数据库和 3 个从数据库。我需要编写我的数据库类来连接和添加/更新/删除条目到主数据库还是以某种方式自动化?

对于我的 SELECT 查询,我是否需要对其进行编码以随机选择一个随机数据库服务器?

【问题讨论】:

    标签: mysql database-replication master-slave


    【解决方案1】:

    您想使用(和研究)的是MySQL Replication。这完全独立于您的代码来处理。您使用数据库就像有 1 或 100 台服务器一样。

    【讨论】:

    • 那么,我将不得不与主表建立一个 mysql 连接,其余的将自行处理?
    • 我自己从来没有设置过,但是是的,这就是我的理解。 bumperbox's answer below 补充说明。
    【解决方案2】:

    听起来你想提高性能/平衡负载

    是的,您需要对主数据库进行任何破坏性更改。从站只能用于只读。您还需要注意不要立即写入主服务器并从从服务器读取,否则数据可能尚未复制到从服务器。所以任何瞬时读取仍然需要来自主节点。

    我不建议只是随机选择一个奴隶。如果地理区域分散,您可以按地理区域执行此操作,或者如果您在集群中运行,您可以使用代理为您进行负载平衡..

    这里有一些可能会有所帮助的更多信息

    http://agiletesting.blogspot.com/2009/04/mysql-load-balancing-and-read-write.html

    【讨论】:

      【解决方案3】:

      您应该考虑使用mysqlnd_ms - PHP 的复制和负载平衡插件。

      我认为这是更好的解决方案,尤其是对于生产环境,因为它是 PHP 原生的,而 MySQL Proxy 仍处于 Alpha 版本。

      有用的链接:

      【讨论】:

        【解决方案4】:

        主/从设置应该由 MySQL 服务器自动处理,因此您不需要任何特殊代码来进行此配置。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-07-04
          • 1970-01-01
          • 2014-12-12
          • 2011-12-14
          • 1970-01-01
          相关资源
          最近更新 更多