OneProxy实现Mysql读写分离
环境:
master主机:192.168.1.10
slave主机:192.168.1.12
oneproxy中间件:192.168.1.11
一、配置主从(略)
①注意关闭三端防火墙,也可以开放端口,数据库端口3306,oneproxy连接端口3307,oneproxy管理端口4041
②当配置同步之后需要在master主机创建test库并添加oneproxy的连接用户会自动replication到slave数据库
mysql>create database test;
mysql>grant select,delete,insert,update,create on test.* to oneproxy@'%' identified by '123.com';
③在slave数据库中设置read_only项,read_only=1只读模式,不会影响slave同步复制的功能,它可以限定普通用户进行数据修改的操作,但不会限定具有super权限的用户的数据修改操作,这里开启它让oneproxy自动识别读写服务器
mysql>show variables like ‘%read_only%’;
Variable_nameValue
innodb_read_only
OFF
read_only
OFF
super_read_only
OFF
tx_read_only
OFF
mysql>set global read_only = 1;
二、配置OneProxy中间件
步骤:
①安装oneproxy
[root@192 ~ ]# wget http://www.onexsoft.com/softw...
[root@192 ~ ]# tar zxf oneproxy-rhel6-linux64-v6.2.0-ga.tar.gz -C /usr/local
②在预启动脚本中修改oneproxy目录
[root@192 ~ ]# vim /usr/local/oneproxy/demo.sh
#/bin/bash
#
export ONEPROXY_HOME=/usr/local/oneproxy
ulimit -c unlimited
# valgrind --leak-check=full \
${ONEPROXY_HOME}/bin/oneproxy --defaults-file=${ONEPROXY_HOME}/conf/proxy.conf
③修改启动脚本oneproxy目录
[root@192 ~ ]# vim /usr/local/oneproxy/oneproxy.service
....
ONEPROXY_HOME=/usr/local/oneproxy
ONEPROXY_SBIN="${ONEPROXY_HOME}/bin/oneproxy"
ONEPROXY_CONF="${ONEPROXY_HOME}/conf/proxy.conf"
ONEPROXY_PID="${ON