绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
OneProxy读写分离配置操作手册
2015-06-16 09:14:00

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
 
分享好友

分享这个小栈给你的朋友们,一起进步吧。

MySQL内核开发
创建时间:2020-05-21 10:40:20
MySQL内核开发与维护; OLTP类数据库内核技术和运维; 日常工作遇到的技术挑战和疑难杂症。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • 友哥
    栈主

小栈成员

查看更多
  • tianya_2011
  • shiwenjunx
  • sunbjt
  • bennysongs
戳我,来吐槽~