官方网站资源下载只有支持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
- 健康检查
每秒钟Proxy会和后端进行通信,检测后端数据库状态。
Markup: 正常状态,可以提供服务
Markdown:异常状态,不可以提供服务
查看状态
查看后端机器: list backend;
查看组:list group;
查看链接池: list pool;
查看日志文件:tail -100f oneproxy.log
作者:coder_up
来源:CSDN
原文:https://blog.csdn.net/wjc19911118/article/details/51375196
版权声明:本文为博主原创文章,转载请附上博文链接
数据库中间件安装
-
下载安装包,解压且放在指定的目录下
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 -
分库分表
-
多集群管理
水平分片管理 user01 user02 user03 user04 ...
机器列表
分库分表 有垂直切分,水平切分
何谓垂直切分,即将表按照功能模块、关系密切程度划分出来,部署到不同的库上
何谓水平切分,当一个表中的数据量过大时,我们可以把该表的数据按照某种规则,例如userID散列,进行划分,然后存储到多个结构相同的表,和不同的库上
分库分表问题:
- 事物问题
- 跨库跨表的join问题
- 额外的数据管理负担和数据运算压力
参考: https://www.cnblogs.com/jshen/p/7682502.html