OneProxy学习笔记

官方网站资源下载只有支持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,D2F6A5AD70C9042D

proxy-httpserver = 0.0.0.0:8080

proxy-auto-readonly = 0
proxy-slave-addresses.1 = db1:3306@default
proxy-master-addresses.2 = db2:3306@default
# proxy-slave-addresses.3 = ...

proxy-group-policy = default:read_slave
proxy-user-list = default:test/1378F6CC3A8E8A43CA388193FBED5405982FBBD3@test

更新后的配置:


[oneproxy]

proxy-license = A2FF461456A67F28,D2F6A5AD70C9042D

proxy-httpserver = 0.0.0.0:8080

proxy-auto-readonly = 0

mysql-version = 5.7.26

proxy-address = :3307

admin-address = :4041

proxy-master-addresses.1 = 127.0.0.1:3306@default

proxy-group-policy.1 = default:master-only

proxy-user-list.1            = default:root/0A4676F8872CD8EB6438921C860D22E0A07751C0@lottery_common

proxy-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;

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

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

网上太多教程上来就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

至此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
posted @ 2019-06-19 15:48  ncsb  阅读(1348)  评论(3编辑  收藏  举报