【问题标题】:How to make Mysqlnd_ms run each query on a different instance如何让 Mysqlnd_ms 在不同的实例上运行每个查询
【发布时间】:2018-09-03 13:20:29
【问题描述】:

我有一个带有 1 个只读副本(总共 2 个实例)的 AWS RDS。我打算安装 mysqlnd_ms 插件,以便我可以让我的请求以循环方式指向数据库服务器。

我有 2 个在文档中找不到直接答案的基本问题

  1. 使用 mysqlnd_ms,有没有办法说,不是所有的选择查询都应该指向从属(只读副本)。每个请求都应交替指向现有实例
  2. 假设如果我们每个请求运行 2 个查询,那么每个查询是否指向 1 个实例?这意味着它将为每个请求打开 2 个数据库连接?我理解正确吗

【问题讨论】:

    标签: php mysqli mysqlnd


    【解决方案1】:

    创建一个json文件并在中提及路径

    /etc/php.d/mysqlnd_ms.ini

    文件如下

    mysqlnd_ms.config_file=/etc/mysqlnd_ms_cfg.json
    

    在json文件中添加如下代码

    /etc/mysqlnd_ms_cfg.json

        {
    
            "myapp": {
                "master": {
                    "master_0": {
                        "host": "RDS master instance IP/doamin name",
                        "port": 3306
                    }
                },
                "slave": {
                    "slave_0": {
                        "host": "RDS master instance IP/doamin name",
                        "port": 3306
                    },
                    "slave_1": {
                        "host": "RDS read replica instance IP/doamin name",
                        "port": 3306
                    }
                },
                "filters": [
                    "roundrobin"
                ]
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      • 2013-08-30
      • 2015-08-10
      • 2017-05-18
      • 1970-01-01
      • 2012-08-11
      相关资源
      最近更新 更多