教程集 www.jiaochengji.com
教程集 >  数据库  >  mysql  >  正文 实现mysql读写分离的mysqlnd的mysqlnd_ms插件使用教程

实现mysql读写分离的mysqlnd的mysqlnd_ms插件使用教程

发布时间:2023-04-29   编辑:jiaochengji.com
教程集为您提供实现mysql读写分离的mysqlnd的mysqlnd,ms插件使用教程等资源,欢迎您收藏本站,我们将为您提供最新的实现mysql读写分离的mysqlnd的mysqlnd,ms插件使用教程资源
mysqlnd_ms插件主要实现了mysql的连接保持和切换, 负载均衡和读写分离等, 也就是说, 这个扩展会去分别PHP发给MySQL的query, 如果是”读”的query, 就会把query发送给从库(配置中指明), 并且支持负载均衡; 而如果是”写”的query, 就会把query发送给主库.

mysqlnd_ms是mysqlnd的一个插件,该插件实现了连接保存和切换、负载均衡、读写分离的功能。要想使用mysqlnd_ms的读写分离功能必须在安装php时使用–with-mysqlnd。mysqlnd实现的功能是可以不需要在php服务器上安装mysql,在php5.3之前编译安装php需要通过–with-mysql=/path/to/mysql指定mysql安装路径。

1、安装mysqlnd_ms模块


tar -zxvf mysqlnd_ms-1.5.2.tgz
 cd mysqlnd_ms-1.5.2
 /usr/local/php/bin/phpize
 ./configure --with-php-config=/usr/local/php/bin/php-config
 make && make install

出现以下类似提示,记录下面的路径需要拥有配置php.ini

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
Installing header files: /usr/local/php/include/php/

2、编辑 /usr/local/php/etc/php.ini

extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/mysqlnd_ms.so
mysqlnd_ms.enable = On
mysqlnd_ms.config_file = /usr/local/php/etc/mysqlnd_ms_plugin.ini

3、创建mysqlnd_ms_plugin.ini配置文件


"myapp": {
        "master": {
            "master_0": {
                "host": "192.168.6.135",
                "socket": "\/tmp\/mysql.sock"
            }
        "slave": {
            "slave_0": {
                "host": "192.168.6.136",
                "port": "3306"
            "slave_1": {
                "host": "192.168.6.137",
                "port": "3306"
            "filters": {
                "random": {
                    "sticky": "1"
                }
            }
        }
}

这里使用到了1主2从的mysql服务器
filters是定义访问从服务器的策略,random是随机选择一台服务器,strick参数设置成1是指将一次请求都指向一台服务器

4、测试

使用wordpress进行测试,编辑配置文件wp-config.php

/** MySQL主机 */
define('DB_HOST', 'myapp'); #这的myapp是在mysqlnd_ms_plugin.ini中定义的

您可能感兴趣的文章:
mysql-proxy实现mysql读写分离
mysql主从复制读写分离的实现方法
MySQL-Proxy读写分离要注意的问题
phpmyadmin2054错误
mysql innodb数据库引擎解析
mysql如何锁定单个表
Amoeba:开源的分布式数据库Porxy解决方案
MySQL性能调优和使用新手必读教程
php读写分离怎么实现
php常见错误有哪些?

[关闭]
~ ~