博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oneproxy简单读写分离
阅读量:2348 次
发布时间:2019-05-10

本文共 2777 字,大约阅读时间需要 9 分钟。

1、在主从复制的基础上大家拿oneproxy实现读写分离

2、注意关闭三端防火墙,也可以开放端口,数据库端口3306,oneproxy连接端口3307,oneproxy管理端口4041

3、当配置同步之后需要在master主机创建test库并添加oneproxy的连接用户

mysql>create database test;
mysql>grant select,delete,insert,update,create on test.* to oneproxy@'%' identified by '123.com';
4、在slave数据库中设置read_only项,read_only=1只读模式
mysql> set global read_only = 1;
5、配置OneProxy中间件
安装oneproxy
wget http://www.onexsoft.com/software/oneproxy-rhel6-linux64-v6.2.0-ga.tar.gz
tar zxf oneproxy-rhel6-linux64-v6.2.0-ga.tar.gz -C /usr/local/
6、在预启动脚本中修改oneproxy目录
 cat 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
cat oneproxy.service (红色标记)
#!/bin/bash
# chkconfig: - 30 21
# description: OneProxy service.
# Source Function Library
. /etc/init.d/functions

# OneProxy Settings

ONEPROXY_HOME=/usr/local/oneproxy
ONEPROXY_SBIN="${ONEPROXY_HOME}/bin/oneproxy"
ONEPROXY_CONF="${ONEPROXY_HOME}/conf/proxy.conf"
ONEPROXY_PID="${ONEPROXY_HOME}/log/oneproxy.pid"
RETVAL=0
prog="OneProxy"

start() {

        echo -n $"Starting $prog ... "
...........................

获取oneproxy加密后的密文密码

./mysqlpwd 123.com
修改oneproxy主配文件
vim /usr/local/oneproxy/conf/proxy.conf
[oneproxy]
#proxy-license              = A2FF461456A67F28,D2F6A5AD70C9042D
keepalive = 1
event-threads = 4
proxy-group-policy = test:read-slave
log-file = log/oneproxy.log
pid-file = log/oneproxy.pid
lck-file = log/oneproxy.lck
proxy-auto-readonly = 1
proxy-forward-clientip = 1
proxy-trans-debug = 1
#mysql-version = 5.7.18
proxy-master-addresses.1 = 192.168.182.146:3306@test
proxy-slave-addresses.2 = 192.168.182.147:3306@test
proxy-user-list = oneproxy/7FB703DA3682A0CCC20168D44E8A7E92FE676A51@test
proxy-part-template = conf/template.txt
proxy-part-tables.1      = conf/part.txt
proxy-part-tables.2      = conf/part2.txt
proxy-part-tables.3      = conf/cust1.txt
proxy-charset            = utf8_bin
proxy-secure-client = 127.0.0.1
proxy-httpserver = :8080
proxy-httptitle = OneProxy Monitor
启动oneproxy 
 . demo.sh 
 . oneproxy.service start
Starting OneProxy ...                                      [  OK  ]
ss -anpt |grep 3307
LISTEN     0      128          *:3307                     *:*                   users:(("oneproxy",pid=3943,fd=11))
[root@proxy oneproxy]# ss -anpt |grep 4041
LISTEN     0      128          *:4041                     *:*                   users:(("oneproxy",pid=3943,fd=13))
访问oneproxy管理网页

输入http://oneproxy的ip:8080

默认用户名admin,密码OneProxy

标题

验证

使用客户端登录oneproxy连接端口3307

注:先需要去到4041管理端口打开底层数据库权限
mysql -uadmin -pOneProxy -P4041 -h 192.168.182.150
set gaccess test 0 ;
mysql -uoneproxy -p123.com -h 192.168.182.150 -P3307
mysql> create table test.tb (id int);
Query OK, 0 rows affected (0.03 sec)
mysql> insert into test.tb values(1);
Query OK, 1 row affected (0.00 sec)
多创建几个
mysql> insert into test.tb values(1) select * from test.tb;
观察管理网页master和slave中query的变化,读负载的增加与写负载的增加,验证成功

转载地址:http://azxvb.baihongyu.com/

你可能感兴趣的文章
Eclipse创建Maven Java8 Web项目,并直接部署Tomcat
查看>>
RedHad 7.x服务器操作记录
查看>>
BindException: Cannot assign requested address (Bind failed)解决办法
查看>>
Centos7:Docker安装Gitlab
查看>>
Kafka日志配置
查看>>
logstash 6.x 收集syslog日志
查看>>
Apche Kylin启动报错:UnknownHostException: node1:2181: invalid IPv6 address
查看>>
Apache Kylin 2.3 构建Cube失败
查看>>
Apache Kylin 2.3 样例分析
查看>>
Apache Kylin 2.3 JDBC Java API 示例
查看>>
An internal error occurred during: "Initializing Java Tooling". java.lang.NullPointerException
查看>>
ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
查看>>
IntelliJ IDEA 2018 基本配置
查看>>
Spring+Mybatis+多数据源(MySQL+Oracle)
查看>>
Mybatis读取Oracle数据库Blob字段,输出原文件
查看>>
信用卡反欺诈
查看>>
线性回归
查看>>
浏览器以只读方式打开PDF
查看>>
CDH和HDP下载地址
查看>>
MysqlDataTruncation: Data truncation: Incorrect string value: '\xF0\x9D\x90\xB6"#...' for column
查看>>