博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OneProxy学习笔记
阅读量:4955 次
发布时间:2019-06-12

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

官方网站资源下载只有支持CentOS6的软件包,在CentOS7中也可以使用,但是启动文件有不同。每次手动kill,再启动很麻烦。

刚发现官方博客资源下载有最新的支持CentOS7的软件包

http://www.onexsoft.com/zh/download

系统环境: cat /etc/redhat-release

CentOS Linux release 7.6.1810 (Core)

1.下载安装包并解压

下载: wget http://www.onexsoft.com/software/oneproxy-rhel7-linux64-v6.2.0-ga.tar.gz

解压: tar -zxvf oneproxy-rhel7-linux64-v6.2.0-ga.tar.gz

解压完成对应目录下有一个oneproxy的目录

2. 修改配置文件 /data/oneproxy/conf/proxy.conf

  • 原始配置
[oneproxy]proxy-license = A2FF461456A67F28,D2F6A5AD70C9042Dproxy-httpserver = 0.0.0.0:8080proxy-auto-readonly = 0proxy-slave-addresses.1 = db1:3306@defaultproxy-master-addresses.2 = db2:3306@default# proxy-slave-addresses.3 = ...proxy-group-policy = default:read_slaveproxy-user-list = default:test/1378F6CC3A8E8A43CA388193FBED5405982FBBD3@test

更新后的配置:

[oneproxy]proxy-license = A2FF461456A67F28,D2F6A5AD70C9042Dproxy-httpserver = 0.0.0.0:8080proxy-auto-readonly = 0mysql-version = 5.7.26proxy-address = :3307admin-address = :4041proxy-master-addresses.1 = 127.0.0.1:3306@defaultproxy-group-policy.1 = default:master-onlyproxy-user-list.1            = default:root/0A4676F8872CD8EB6438921C860D22E0A07751C0@lottery_commonproxy-charset = utf8_general_ci

数据库用户名密码需要进入oneproxy管理后台生成,./demo.sh 启动oneproxy

进入管理后台: mysql -uadmin -pOneProxy -h 127.0.0.1 -P4041 (进入oneproxy管理后台使用的默认账号&密码)

生成配置文件的用户密码 passwd 原始密码;例如: passwd 'secret133'; //可以不带引号

oneproxy管理后台操作命令:

查看后端机器: list backend;
查看组:list group;
查看链接池: list pool;
589455-20190619154958127-957730924.png

可以查看当前的mysql主机,分组等情况。

这里只是为了熟悉oneproxy软件基本的配置和单数据库的分表,所以只是要一台sql。

网上太多教程上来就N台数据库,分库分表的配置,靠,作为一个第一次使用的人看着那些配置晕死。

通过oneproxy代理连接业务数据库

其实就是 proxy-address = :3307 连接 proxy-master-addresses.1 = 127.0.0.1:3306@default

在客服端中连接oneproxy,由oneproxy代理去连接各业务数据库

跟连接普通的数据库一样,只不过端口要使用oneproxy配置文件配置的端口

mysql -utest -ptest -h 127.0.0.1 -P3307

589455-20190619155839760-1368282295.png

至此oneproxy的安装,启动 ,进入管理后台,基本的配置,通过oneproxy代理连接业务数据库都会了。

下面就实现一个简单的分表配置来测试oneproxy的分表功能

增加配置项引入分表的配置: proxy-part-tables.1 = conf/history_open.txt

数据库建立相关的分表

按站点site_id分表配置文件history_open.txt:

[{"table" : "t_lottery_history_open","pkey" : "site_id","type" : "int","method" : "list","partitions":[{ "name" : "t_lottery_history_open_1", "group": "default", "value" : ["1"] },{ "name" : "t_lottery_history_open_4", "group": "default", "value" : ["4"] }]}]

重启oneproxy就可以测试查询,插入是否正确。

------------------------- 这里是分割线 --------------------------------

下面是之前在CentOS6下安装时记录的笔记,反正乱七八糟,也懒得看,有空再整理。再次安装忘得干干净净,所以上面在CentOS7下再次安装记录整个流程。

使用中的问题:

  • 配置文件的表必须存在才可以启动成功

  • 修改oneproxy的配置文件之后需要重启

mysql 中间件OneProxy总结 https://blog.csdn.net/wjc19911118/article/details/51375196?utm_source=copy

OneProxy 服务器可以和Mysql共同一台机器

OneProxy 后台管理登录

默认client port 3307

mysql -utest -ptest -h 127.0.0.1 -P3307
默认admin port 4041
mysql -uadmin -pOneProxy -h 127.0.0.1 -P4041

OneProxy 安装

官方文档 https://pan.baidu.com/s/1o8J6n8I#list/path=%2F

安装目录 /usr/local/oneproxy

启动服务 service oneproxy start
配置目录 /usr/local/oneproxy/conf/

one proxy 分表原理(官方)

http://www.onexsoft.com/zh/oneproxy-simple-database-sharding.html

table 表名称

pkey 分区键
type 分区键字段类型
method 分区方法
partitions 分区配置
db 数据库名称
suffix 后缀
group 分组
value 值

OneProxy 分区方法:

range 按照字段值范围
list
hash

原理博客 https://blog.csdn.net/wjc19911118/article/details/51375196

分表查询 oneproxy

https://blog.csdn.net/weixin_37998647/article/details/78750033

https://blog.csdn.net/jerry____wang/article/details/52981745

修改oneproxy的配置文件之后需要重启

oneproxy 配置文件配置的表,数据库必须存在,不然会失败

怎么查看oneproxy 执行sql,集合了那些表了....

oneProxy

参考: https://blog.csdn.net/wjc19911118/article/details/51375196?utm_source=copy

可以和Mysql共同一台机器
默认client port 3307
mysql -utest -ptest -h 127.0.0.1 -P3307
默认admin port 4041
进入管理后台
mysql -uadmin -pOneProxy -h 127.0.0.1 -P4041

登录oneproxy 管理后台

mysql -uadmin -pOneProxy -P4041 -h127.0.0.1

  1. 健康检查
    每秒钟Proxy会和后端进行通信,检测后端数据库状态。
    Markup: 正常状态,可以提供服务
    Markdown:异常状态,不可以提供服务
    查看状态
    查看后端机器: list backend;
    查看组:list group;
    查看链接池: list pool;
    查看日志文件:tail -100f oneproxy.log

作者:coder_up

来源:CSDN
原文:https://blog.csdn.net/wjc19911118/article/details/51375196
版权声明:本文为博主原创文章,转载请附上博文链接

数据库中间件安装

  1. 下载安装包,解压且放在指定的目录下

    wget http://www.onexsoft.com/software/oneproxy-rhel6-linux64-v6.2.0-ga.tar.gz
    tar -zxvf oneproxy-rhel6-linux64-v6.2.0-ga.tar.gz
    mv oneproxy /usr/local/oneproxy
    oneproxy 官方博客 http://www.onexsoft.com/zh/category/oneproxy

  2. 分库分表
  3. 多集群管理

水平分片管理 user01 user02 user03 user04 ...

机器列表

分库分表 有垂直切分,水平切分

何谓垂直切分,即将表按照功能模块、关系密切程度划分出来,部署到不同的库上
何谓水平切分,当一个表中的数据量过大时,我们可以把该表的数据按照某种规则,例如userID散列,进行划分,然后存储到多个结构相同的表,和不同的库上

分库分表问题:

  1. 事物问题
  2. 跨库跨表的join问题
  3. 额外的数据管理负担和数据运算压力
    参考: https://www.cnblogs.com/jshen/p/7682502.html

转载于:https://www.cnblogs.com/zqsb/p/11051789.html

你可能感兴趣的文章
2015.7.31 jquery 的attr和prop
查看>>
让我郁闷了一个早上的事情--变量保护
查看>>
centos7磁盘扩容
查看>>
CSS实现垂直居中的常用方法
查看>>
TCP/IP ---互联网的地址
查看>>
RobotFramework-Selenium2Library--关键字
查看>>
01 - Execise About Array.prototype.reduce()
查看>>
centos6.5安装xen(一)——编译安装xen4.1.3
查看>>
【转】Linux shell笔记
查看>>
hdu 5199 Gunner
查看>>
Java多线程
查看>>
DDR SDRAM芯片DQS的作用以及读写DQS/DQ对齐方式不同的原因
查看>>
一道常被人轻视的前端JS面试题
查看>>
ThinkPHP5从零基础搭建CMS系统(一)
查看>>
智能指针总结
查看>>
Excel导入遇到的问题An object with the same key already exists in the ObjectStateManager……
查看>>
《全栈性能Jmeter》-5JMeter负载与监听
查看>>
csharp: Export DataSet into Excel and import all the Excel sheets to DataSet
查看>>
C++调用android非静态函数
查看>>
C输出格式——转载
查看>>