OneProxy安装部署和分表简测
2016-10-31 13:44
267 查看
Oneproxy部署安装:
安装环境:UCloud云主机 centos 6.4 2.6.32-431.11.25.el6.ucloud.x86_64
官网http://www.onexsoft.com/?page_id=4029下载oneproxy最新版:
oneproxy-rhel5-linux64-v5.8.5-ga.tar.gz
测试环境的mysql版本是5.6.16,具体mysql的安装这边不做介绍,需要的可以参考:
http://note.youdao.com/noteshare?id=2488960ee09a3b7843087213456749fa
1、将安装包上传至/usr/local目录进行解压
tar zxvf oneproxy-rhel5-linux64-v5.8.5-ga.tar.gz
2、进入oneproxy目录会看到下面几个文件
其中demo.sh是初始启动脚本,oneproxy.service是平时start、stop、restart脚本
3、将demo.sh和oneproxy.service脚本里的目录改成自行设置的安装目录,这边以/usr/local为例
4、登录mysql对scheduler库创建用户并授予权限
执行下flush privileges刷新权限、
5、启动oneproxy
确认oneproxy监听端口3307和工具管理端口4041监听正常
还可以查看oneproxy的日志输出情况,看到以下内容说明启动正常
5、对用户名的密码进行加密设置
6、由于mysql服务器和oneproxy中间件在一台服务器上进行的测试,下面是配置文件信息
/usr/local/oneproxy/conf/proxy.conf
注意:当测试环境oneproxy后端只有一台mysql服务器的时候proxy-auto-readonly=1这个参数要禁止掉,不然会出现sql不能在oneproxy执行的情况
解释:
--proxy-master-addresses
格式:ip:port@groupname
其中“groupname”指的是“Server Group”的名字,如果不指定,则默认为“default”。
proxy-address Proxy Server自身监听地址
proxy-slave-addresses Slave节点地址(可读取节点)
proxy-user-list Proxy用户列表(用户名:口令)
proxy-table-map 为某张表指定“Server Group”
proxy-sql-review 为某张表指定Where条件中必须的列
proxy-database Proxy对应的后端数据库
proxy-charset
通过OneProxy来管理多个数据库时,要求所有的数据库字符集是一致的,同样是基于现有连接池机制的考虑,可以选的值在README文件里有,默认值是“utf8_general_ci”,为了防止连接池中不同的连接出现不同的设置,“set”命令在OneProxy里也是不生效的。
proxy-group-policy
预定义策略,0代表由Lua Script来决定,默认为Master Only;1代表Read
Failover;2代表Read/Write Split(Master节点不参与读操作);3代表双Master结构,或者是XtraDB
Cluster结构,即多主对等的方式;4代表Read/Write Split(Master节点共同参与读操作);5代表读写随机。
proxy-security-level
安全级别,0默认值,1禁止DDL,2禁止不带条件的查询语句,3只允许SELECT。
proxy-group-security
为特定Server Group设置安全级别。
安全级别,0默认值,1禁止DDL,2禁止不带条件的查询语句,3只允许SELECT。
event-threads
并发线程数,最大允许48个线程。通常这个值可以设为CPU Core数量的两倍
7、重启oneproxy使配置生效,连接oneproxy
./oneproxy.service restart
当指定连接的默认数据库名时,
其实是指定连接到 OneProxy 时的默认 MySQL 集群,直接show tables;就能看到scheduler库下面的表,这些表是之前建立好的。
用户可以自行在oneproxy里面进行DDL、DML操作。
第二部分:
Oneproxy分表测试
这边以user__wechat表做测试
只要将分库分表的关键配置信息保存到文件 “part.txt” 中,给 “proxy-part-tables”选项指定“part.txt”文件的位置,OnePorxy 就会装载 分区信息,就可以实现分库分表了。
以last_update_time字段作为分表字段,采取range类型,还支持list、hash分区
登录oneproy mysql -uwangxin -p -P3307 -h127.0.0.1 default -c
创建好子表:
user__wechat_1406
user__wechat_1501
user__wechat_1506
user__wechat_1601
user__wechat_1606
user__wechat_1701
重启oneproxy使配置生效
将逻辑备份的user__wechat数据导入到主表里面
mysql -h127.0.0.1 -uwangxin -P3307 -p scheduler </data/user_wechat.sql
注意:这边进行导入之前,需要将逻辑备份文件的其他语句比如create等全部删除,只保留insert,还需要into后面加上插入的字段补全,不然会报错
列子:
查看主表和分表数据是否一致
安装环境:UCloud云主机 centos 6.4 2.6.32-431.11.25.el6.ucloud.x86_64
官网http://www.onexsoft.com/?page_id=4029下载oneproxy最新版:
oneproxy-rhel5-linux64-v5.8.5-ga.tar.gz
测试环境的mysql版本是5.6.16,具体mysql的安装这边不做介绍,需要的可以参考:
http://note.youdao.com/noteshare?id=2488960ee09a3b7843087213456749fa
1、将安装包上传至/usr/local目录进行解压
tar zxvf oneproxy-rhel5-linux64-v5.8.5-ga.tar.gz
2、进入oneproxy目录会看到下面几个文件
其中demo.sh是初始启动脚本,oneproxy.service是平时start、stop、restart脚本
3、将demo.sh和oneproxy.service脚本里的目录改成自行设置的安装目录,这边以/usr/local为例
4、登录mysql对scheduler库创建用户并授予权限
执行下flush privileges刷新权限、
5、启动oneproxy
确认oneproxy监听端口3307和工具管理端口4041监听正常
还可以查看oneproxy的日志输出情况,看到以下内容说明启动正常
5、对用户名的密码进行加密设置
6、由于mysql服务器和oneproxy中间件在一台服务器上进行的测试,下面是配置文件信息
/usr/local/oneproxy/conf/proxy.conf
注意:当测试环境oneproxy后端只有一台mysql服务器的时候proxy-auto-readonly=1这个参数要禁止掉,不然会出现sql不能在oneproxy执行的情况
解释:
--proxy-master-addresses
格式:ip:port@groupname
其中“groupname”指的是“Server Group”的名字,如果不指定,则默认为“default”。
proxy-address Proxy Server自身监听地址
proxy-slave-addresses Slave节点地址(可读取节点)
proxy-user-list Proxy用户列表(用户名:口令)
proxy-table-map 为某张表指定“Server Group”
proxy-sql-review 为某张表指定Where条件中必须的列
proxy-database Proxy对应的后端数据库
proxy-charset
通过OneProxy来管理多个数据库时,要求所有的数据库字符集是一致的,同样是基于现有连接池机制的考虑,可以选的值在README文件里有,默认值是“utf8_general_ci”,为了防止连接池中不同的连接出现不同的设置,“set”命令在OneProxy里也是不生效的。
proxy-group-policy
预定义策略,0代表由Lua Script来决定,默认为Master Only;1代表Read
Failover;2代表Read/Write Split(Master节点不参与读操作);3代表双Master结构,或者是XtraDB
Cluster结构,即多主对等的方式;4代表Read/Write Split(Master节点共同参与读操作);5代表读写随机。
proxy-security-level
安全级别,0默认值,1禁止DDL,2禁止不带条件的查询语句,3只允许SELECT。
proxy-group-security
为特定Server Group设置安全级别。
安全级别,0默认值,1禁止DDL,2禁止不带条件的查询语句,3只允许SELECT。
event-threads
并发线程数,最大允许48个线程。通常这个值可以设为CPU Core数量的两倍
7、重启oneproxy使配置生效,连接oneproxy
./oneproxy.service restart
当指定连接的默认数据库名时,
其实是指定连接到 OneProxy 时的默认 MySQL 集群,直接show tables;就能看到scheduler库下面的表,这些表是之前建立好的。
用户可以自行在oneproxy里面进行DDL、DML操作。
第二部分:
Oneproxy分表测试
这边以user__wechat表做测试
只要将分库分表的关键配置信息保存到文件 “part.txt” 中,给 “proxy-part-tables”选项指定“part.txt”文件的位置,OnePorxy 就会装载 分区信息,就可以实现分库分表了。
以last_update_time字段作为分表字段,采取range类型,还支持list、hash分区
登录oneproy mysql -uwangxin -p -P3307 -h127.0.0.1 default -c
创建好子表:
user__wechat_1406
user__wechat_1501
user__wechat_1506
user__wechat_1601
user__wechat_1606
user__wechat_1701
重启oneproxy使配置生效
将逻辑备份的user__wechat数据导入到主表里面
mysql -h127.0.0.1 -uwangxin -P3307 -p scheduler </data/user_wechat.sql
注意:这边进行导入之前,需要将逻辑备份文件的其他语句比如create等全部删除,只保留insert,还需要into后面加上插入的字段补全,不然会报错
列子:
查看主表和分表数据是否一致
相关文章推荐
- LINUX部署WEB项目(TOMCAT安装和配置)
- Nginx安装部署
- 给新手--安装tomcat后用户名和密码设置以及项目怎么部署在tomcat服务器上
- pxe自动安装及部署简介
- Linux(Centos)之安装tomcat并且部署Java Web项目
- Solr的安装部署及简单使用
- 图文详解|手把手教你Linux部署tomcat项目<二> Linux下安装MySql数据库
- elasticsearch2.3安装以及集群部署
- 利用lvs+keepalived实现高可用负载均衡环境的部署(安装常见错误)
- OpenStack安装部署管理中常见问题解决方法(OpenStack-Lite-FAQ)
- Centos 6.5 安装icingaweb1 中文版部署
- spark-2.2.0安装和部署——Spark集群学习日记
- 基于Hadoop的日志收集框架---Chukwa的安装部署
- ranger的部署安装
- 开源堡垒机安装测试上线部署详解-----麒麟开源堡垒机
- Jenkins2.2+svn+maven详细安装与构建部署使用教程
- CentOs7下redis的部署和安装
- flink中文文档-快速开始 安装部署 v1.4
- Exchange server 2010安装部署之五,为Exchange安装防病毒软件
- Eclipse(非J2EE版本)配置Extjs环境以及安装部署Tomcat