OneProxy读写分离配置操作手册

1.确保已配置好主备集群

  A)配置

    可参考MySQL官方文档(https://dev.mysql.com/doc/refman/5.6/en/replication-howto.html)

    或者我的博客(http://www.cnblogs.com/youge-OneSQL/p/4579833.html )

  B)创建用户

    在主备集群上的MySQL分别执行如下命令:

      mysql -e "grant all privileges on *.* to test@'%' identified by 'test' "

2.下载最新版本OneProxy

  http://www.onexsoft.cn/software/oneproxy-rhel6-linux64-v5.7-ga.tar.gz

3.解压到指定目录

  mv oneproxy-rhel6-linux64*  /usr/local/

  tar zxvf oneproxy-rhel6-linux64*

4)更改启动文件 

  cd oneproxy

  cat demo.sh

       

#!/bin/bash

export ONEPROXY_HOME=/data/oneproxy

 

if [ -f ${ONEPROXY_HOME}/oneproxy.pid ]; then

   kill -9 `cat ${ONEPROXY_HOME}/oneproxy.pid`

fi

 

sleep 2

# valgrind --leak-check=full --show-reachable=yes \

${ONEPROXY_HOME}/oneproxy --proxy-address=:3307 --proxy-extra-address=:3308 \

  --proxy-master-addresses=192.168.1.119:3306@default \

  --proxy-user-list=test/1378F6CC3A8E8A43CA388193FBED5405982FBBD3@test \

  --proxy-part-tables=${ONEPROXY_HOME}/part.txt \

  --proxy-charset=gbk_chinese_ci --proxy-found-rows \

  --proxy-group-policy=default:master-only \

  --event-threads=6 --proxy-group-security=default:0 \

  --log-file=${ONEPROXY_HOME}/oneproxy.log \

  --pid-file=${ONEPROXY_HOME}/oneproxy.pid

 

更改后

  

#/bin/bash

#

export ONEPROXY_HOME=/usr/local/oneproxy

 

if [ -f ${ONEPROXY_HOME}/oneproxy.pid ]; then

   kill -9 `cat ${ONEPROXY_HOME}/oneproxy.pid`

fi

 

sleep 2

# valgrind --leak-check=full --show-reachable=yes \

  ${ONEPROXY_HOME}/oneproxy --proxy-address=:3307 --proxy-extra-address=:3308 \

  --proxy-master-addresses=<IP1>:3306@data1 \

  --proxy-slave-addresses=<IP2>:3306@data1 \

  --proxy-user-list=test/1378F6CC3A8E8A43CA388193FBED5405982FBBD3@test \

  --proxy-part-tables=${ONEPROXY_HOME}/part.txt \

  --proxy-charset=utf8_bin --proxy-found-rows \

  --proxy-group-policy=data1:read-balance \

  --event-threads=6  \

  --keepalive \

  --log-file=${ONEPROXY_HOME}/oneproxy.log \

  --pid-file=${ONEPROXY_HOME}/oneproxy.pid

 

注释:        

A)  --proxy-user-list=test/1378F6CC3A8E8A43CA388193FBED5405982FBBD3@test 其中第一个test为连接proxy的用户名,该用户名也是用来连接后端数据库的用户名;1378F6CC3A8E8A43CA388193FBED5405982FBBD3为test用户的加密口令;最后一个test为各个数据库节点中的test数据库。 

B)  口令加密

  此时可以启动oneproxy

  cd /usr/local/oneproxy

      sh ./demo.sh

进入管理端口,然后键入passwd <string>。

mysql -uadmin -pOneProxy -P4041 --protocol=TCP

passwd test

输出为:

 1378F6CC3A8E8A43CA388193FBED5405982FBBD3

 

5) 配置完毕

通过3307端口,即可实现读写分离

mysql -utest -ptest -P3307 -h<IP>

 

6)重启oneProxy

A) 关闭 

  ps aux | grep oneproxy | awk '{print $2}' | xargs kill -9

     注:该方法会关闭在该主机上运行的所有OneProxy实例

B) 启动

    cd /usr/local/oneproxy

    sh ./demo.sh

   

 

 

               
 
 
Text-to-speech function is limited to 100 characters
 
posted @ 2015-06-16 09:14  友哥  阅读(1853)  评论(0编辑  收藏  举报