Setup

锟斤拷锟斤拷锟揭伙拷锟� PHP 锟斤拷锟斤拷展, 锟斤拷锟皆查看 installation instructions 学习锟斤拷伟锟阶� » PECL/mysqlnd_ms 锟斤拷展锟斤拷

锟斤拷锟斤拷锟斤拷锟斤拷锟� PHP MySQL 锟斤拷展 (API) (mysqli锟斤拷 PDO_MYSQL锟斤拷 mysql)锟斤拷也锟斤拷锟斤拷锟斤拷锟斤拷锟绞癸拷玫摹锟街э拷锟� mysqlnd 锟侥库。 PECL/mysqlnd_ms 锟斤拷一锟斤拷 mysqlnd 锟斤拷牟锟斤拷锟斤拷使锟斤拷锟斤拷锟斤拷 PHP MySQL 锟斤拷展时锟斤拷要使锟斤拷 mysqlnd 锟斤拷锟斤拷使锟矫该诧拷锟斤拷锟�

然锟斤拷使锟斤拷 mysqlnd_ms.enable 锟斤拷 PHP 锟斤拷锟斤拷锟侥硷拷锟斤拷装锟截和硷拷锟斤拷锟斤拷锟斤拷

Example #1 锟斤拷锟矫诧拷锟�(php.ini)

mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/path/to/mysqlnd_ms_plugin.ini

锟斤拷锟绞癸拷锟斤拷锟斤拷约锟斤拷锟斤拷锟斤拷锟斤拷募锟斤拷锟绞癸拷锟� PHP 指锟斤拷 mysqlnd_ms.config_file 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥硷拷锟斤拷锟斤拷锟斤拷路锟斤拷锟斤拷 锟斤拷锟侥硷拷锟斤拷锟斤拷锟杰憋拷 PHP 锟斤拷取(锟斤拷锟斤拷 web 锟斤拷锟斤拷锟斤拷锟斤拷锟矫伙拷)锟斤拷 锟斤拷注锟解,锟斤拷 1.4.0 锟芥本锟斤拷始锟斤拷锟斤拷锟侥硷拷锟斤拷锟斤拷使锟斤拷 mysqlnd_ms.config_file, 锟斤拷前锟斤拷 mysqlnd_ms.ini_file 锟斤拷锟斤拷使锟矫★拷 使锟矫旧的★拷锟斤拷锟斤拷锟斤拷效锟斤拷指锟斤拷锟斤拷一锟斤拷锟杰筹拷锟斤拷锟侥达拷锟斤拷

锟斤拷 mysqlnd_ms.config_file 指锟斤拷锟斤拷目录锟叫o拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥硷拷锟斤拷

锟斤拷锟斤拷锟� 锟斤拷锟斤拷锟侥硷拷 锟斤拷锟斤拷 JSON 锟斤拷式锟斤拷 锟斤拷锟斤拷写锟斤拷一锟斤拷锟斤拷锟竭讹拷锟斤拷陆锟斤拷小锟矫匡拷锟斤拷陆诙锟斤拷锟斤拷锟揭伙拷锟斤拷锟斤拷疲锟斤拷锟斤拷纾� myapp锟斤拷 每锟斤拷锟铰节帮拷锟斤拷锟皆硷拷锟斤拷锟斤拷锟斤拷锟斤拷息锟斤拷

一锟斤拷锟铰节碉拷锟斤拷锟斤拷锟叫o拷锟斤拷锟斤拷要锟斤拷锟斤拷 MySQL 锟斤拷锟接革拷锟斤拷锟叫碉拷 master 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟� slave 锟斤拷锟斤拷锟斤拷锟斤拷 每锟斤拷锟铰斤拷只锟斤拷使锟斤拷一锟斤拷 master 锟斤拷锟斤拷锟斤拷锟斤拷 目前锟斤拷锟斤拷锟斤拷锟斤拷全支锟街讹拷 master(Multi-master)锟斤拷锟斤拷锟矫★拷 master 锟斤拷锟斤拷锟借定 MySQL master 锟斤拷锟斤拷锟斤拷锟斤拷 hostname锟斤拷port 锟斤拷 socket锟斤拷 锟斤拷 MySQL slave 锟斤拷锟斤拷锟斤拷锟斤拷息使锟斤拷 slave 锟斤拷锟借定锟斤拷

Example #2 锟斤拷锟斤拷锟斤拷牟锟斤拷锟斤拷锟斤拷锟侥硷拷 (mysqlnd_ms_plugin.ini)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost"
            }
        },
        "slave": [

        ]
    }
}

锟斤拷锟斤拷锟斤拷锟斤拷 MySQL slave 锟斤拷锟斤拷锟斤拷锟叫憋拷锟斤拷然锟斤拷也锟斤拷锟斤拷锟角空碉拷锟叫憋拷锟斤拷锟角斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷 slave 锟斤拷锟斤拷锟斤拷锟斤拷

锟斤拷锟斤拷锟斤拷锟叫憋拷锟斤拷锟绞癸拷锟� 锟斤拷锟斤拷锟斤拷锟竭凤拷锟斤拷锟斤拷锟斤法锟斤拷 锟斤拷锟斤拷锟斤拷锟叫憋拷锟斤拷锟揭伙拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟� master_0 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷印锟� 锟斤拷锟斤拷锟斤,锟斤拷使锟矫革拷锟斤拷细锟侥凤拷锟斤拷锟斤拷锟斤法锟斤拷

Example #3 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷牟锟斤拷锟斤拷锟斤拷锟侥硷拷 (mysqlnd_ms_plugin.ini)

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "192.168.2.27",
                "port": "3306"
            }
        }
    }
}

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟皆革拷锟截撅拷锟解、锟叫伙拷锟斤拷锟接★拷锟叫伙拷锟斤拷锟接诧拷锟斤拷锟斤拷锟斤拷透锟斤拷锟侥o拷锟斤拷某些锟斤拷锟斤拷锟斤拷锟斤拷锟铰会导锟斤拷锟斤拷锟解。锟斤拷锟轿匡拷锟叫帮拷锟斤拷 锟斤拷锟接池猴拷锟叫伙拷锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷 锟斤拷锟斤拷转锟斤拷 锟斤拷锟截撅拷锟斤拷 锟斤拷 锟斤拷写锟斤拷锟斤拷锟斤拷锟皆猴拷锟节憋拷指锟斤拷锟叫斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷潜锟节碉拷锟斤拷锟藉。

应锟斤拷锟斤拷要锟斤拷锟斤拷锟斤拷锟斤拷锟叫伙拷锟斤拷锟斤拷锟斤拷潜锟节碉拷锟斤拷锟解,锟斤拷锟斤拷一锟斤拷 master 锟斤拷锟斤拷锟斤拷一锟斤拷 slave锟斤拷锟斤拷锟斤拷锟酵匡拷锟斤拷锟叫伙拷锟斤拷锟斤拷锟斤拷芊锟斤拷锟斤拷锟斤拷锟斤拷锟解。

MySQL 锟斤拷锟斤拷同锟斤拷锟斤拷锟斤拷锟斤拷要锟斤拷锟斤拷锟斤拷 master 锟斤拷 slave锟斤拷 为锟剿诧拷锟皆碉拷目锟侥o拷锟斤拷锟斤拷锟绞癸拷玫锟斤拷锟� MySQL 锟斤拷锟斤拷锟斤拷锟斤拷锟矫诧拷锟斤拷锟轿拷锟� master 锟斤拷 slave 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟铰碉拷锟斤拷锟矫★拷锟斤拷锟斤拷锟斤拷锟皆帮拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫伙拷锟叫硷拷獾斤拷芏锟角憋拷锟斤拷锟斤拷狻� 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟矫诧拷锟斤拷锟阶凤拷锟斤拷锟斤拷为锟斤拷锟斤拷同锟斤拷锟接迟讹拷锟斤拷锟铰碉拷锟斤拷锟解。

Example #4 使锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷同时锟斤拷为 master 锟斤拷 slave锟斤拷锟斤拷锟斤拷锟节诧拷锟皆o拷锟斤拷

{
    "myapp": {
        "master": {
            "master_0": {
                "host": "localhost",
                "socket": "\/tmp\/mysql.sock"
            }
        },
        "slave": {
            "slave_0": {
                "host": "127.0.0.1",
                "port": "3306"
            }
        }
    }
}

锟斤拷锟斤拷锟斤拷锟斤拷锟酵ㄖ拷悴伙拷锟斤拷锟斤拷锟斤拷锟斤拷. 锟斤拷 1.5.0 锟芥本锟斤拷始, 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷壮锟揭伙拷锟� PHP warning, 锟斤拷锟斤拷锟侥硷拷锟斤拷锟缴讹拷; 锟斤拷锟斤拷锟矫伙拷锟斤拷 JSON 锟斤拷锟斤拷锟斤法锟斤拷锟斤拷. 通锟斤拷 PHP 锟斤拷锟斤拷锟斤拷锟斤拷茫锟斤拷锟斤拷锟斤拷锟叫╋拷锟斤拷锟斤拷锟较� 锟结被锟斤拷锟斤拷锟斤拷某些锟斤拷锟斤拷 LOG 锟侥硷拷锟斤拷锟叫★拷锟斤拷锟斤拷证锟斤拷虾锟酵拷锟斤拷锟斤拷锟斤拷募锟斤拷锟斤拷锟叫э拷锟斤拷陆冢锟斤拷锟斤拷踊岜伙拷锟斤拷锟斤拷锟� 锟斤拷锟斤拷 mysqlnd_ms.force_config_usage 锟斤拷锟皆帮拷锟斤拷锟斤拷锟斤拷锟� DEBUG锟斤拷锟斤拷锟皆参匡拷 锟斤拷锟斤拷锟侥硷拷 DEBUG 说锟斤拷.