MySQL的使用中实现读写分离的教程

2019-01-04 17:16:54于丽

(2)、如果遇到乱码需要调整后端mysql的设置的字符集

[mysqld] skip-character-set-client-handshake init-connect = 'SET NAMES utf8' character_set_server = utf8


mysqlnd_ms实现mysql读写分离
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/</span>

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主从复制读写分离搭建详解MySQL的主从复制、读写分离、备份恢复MySQL5.6 Replication主从复制(读写分离) 配置完整版MySQL主从复制的原理及配置方法(比较详细)linux系统下实现mysql热备份详细步骤(mysql主从复制)Mysql主从复制(master-slave)实际操作案例MySQL的主从复制步骤详解及常见错误解决方法MySQL主从复制配置心跳功能介绍MySQL主从同步、读写分离配置步骤mysql 读写分离(基础篇)mysql 读写分离(实战篇)mysql主从复制读写分离的配置方法详解