返回顶部
首页 > 资讯 > 数据库 >OneProxy分库分表的搭建
  • 940
分享到

OneProxy分库分表的搭建

2024-04-02 19:04:59 940人浏览 薄情痞子
摘要

实验环境: 前期准备的三个节点的环形复制 master1:192.168.8.57 master2:192.168.8.58 master3:192.168.8.59 oneproxy:192.168.8.

实验环境:
前期准备的三个节点的环形复制
master1:192.168.8.57
master2:192.168.8.58
master3:192.168.8.59
oneproxy:192.168.8.63
1、下载oneproxy,地址:Http://www.onexsoft.com/
上传至192.168.8.63,解压到/usr/local
2、修改文件描述符65535
vi /etc/security/limits.conf
soft nofile 65535
hard nofile 65535

vi /etc/sysctl.conf 
fs.file-max=655350
net.ipv4.ip_local_port_range=1025 65000
net.ipv4.tcp_tw_reuse=1
3、创建加密密码
[root@oneproxy bin]# ./Mysqlpwd mysql
F1F2E852DCCD764DFA90870C3AF7D6C9D71E7E1B
4、修改demo.sh
目录中的demo.sh是初次启动脚本,修改ONEPROXY_HOME
[root@oneproxy 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
5、修改oneproxy.service 
 oneproxy.service是启动脚本,修改ONEPROXY_HOME
[root@oneproxy oneproxy]# 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 ... "
        daemon $ONEPROXY_SBIN --defaults-file=$ONEPROXY_CONF
RETVAL=$?
echo
}

stop() {
        echo -n $"Stopping $prog ... "
if [ -e ${ONEPROXY_PID} ]; then
daemon kill -INT $(cat ${ONEPROXY_PID})
      RETVAL=$?
fi
echo
}

restart(){
        stop
sleep 1
        start
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart}"
        RETVAL=1
esac
exit $RETVAL
6、配置OneProxy
root@oneproxy conf]# cat proxy.conf 
[oneproxy]
keepalive     = 1
event-threads = 1
log-file      = log/oneproxy.log
pid-file      = log/oneproxy.pid
lck-file      = log/oneproxy.lck
#proxy-license              = A2FF461456A67F28,D2F6A5AD70C9042D
#proxy-auto-readonly = 1
#proxy-forward-clientip = 1
#proxy-trans-debug = 1
proxy-address            = :3307
admin-address            = :4040
mysql-version = 5.7.18
proxy-master-addresses.1    = 192.168.8.57:3306@group1
proxy-master-addresses.2    = 192.168.8.58:3306@group2
proxy-master-addresses.3    = 192.168.8.59:3306@group3
proxy-user-list           = test/F1F2E852DCCD764DFA90870C3AF7D6C9D71E7E1B@test
#proxy-user-list2            = root/F1F2E852DCCD764DFA90870C3AF7D6C9D71E7E1B@test
#proxy-user-group           = test:root/F1F2E852DCCD764DFA90870C3AF7D6C9D71E7E1B@test
proxy-charset              = utf8_bin
proxy-group-policy.1 = group1:master-only
proxy-group-policy.2 = group2:master-only
proxy-group-policy.3 = group3:master-only
proxy-secure-client.1        = 192.168.8.57
proxy-secure-client.2        = 192.168.8.58
proxy-secure-client.3        = 192.168.8.59
#remote-address.1   = 192.168.1.119:4041
proxy-httptitle = OneProxy Monitor
proxy-httpserver = :8080
proxy-part-tables.1   = conf/part.txt
7、配置part.txt
[root@oneproxy conf]# cat part.txt
[
  {
    "table" : "steven",
    "pkey" : "id",
    "type" : "int",
    "method" : "hash",
    "partitions" :     
      [
        { "suffix" : "_0", "group": "group1" },
        { "suffix" : "_1", "group": "group2" },
        { "suffix" : "_2", "group": "group3" }
      ]
  }
]
8、启动oneproxy
[root@oneproxy conf]#./oneproxy.service start
Starting OneProxy ...                                      [  OK  ]
9、分库分表的功能测试
客户端连接OneProxy的3307端口,在test下创建steven表。
 mysql -utest -pmysql -h292.168.8.63 -P3307 test
mysql: [Warning] Using a passWord on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 103
Server version: 5.7.18 OneProxy-6.2.0 (OneXSoft)
Copyright (c) 2000, 2017, oracle and/or its affiliates. All rights reserved.
Oracle is a reGIStered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create table steven(
     id int(10) unsigned NOT NULL AUTO_INCREMENT,
     a1 int(10) NOT NULL DEFAULT '0',
     a2 int(10) unsigned DEFAULT NULL,
     a5 int(10) unsigned NOT NULL DEFAULT '0',
     a3 timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
     a4 varchar(200) NOT NULL DEFAULT '',
     PRIMARY KEY(id),
     KEY idx_a1(a1),
     KEY idx_a2(a2))ENGINE=InnoDB;
10、向steven表插入测试数据
insert into steven(id,a1,a2,a5,a4) values(1,1,1,1,'1');
insert into steven(id,a1,a2,a5,a4) values(2,2,2,2,'2');
insert into steven(id,a1,a2,a5,a4) values(3,3,3,3,'3');
insert into steven(id,a1,a2,a5,a4) values(4,4,4,4,'4');
insert into steven(id,a1,a2,a5,a4) values(5,5,5,5,'5');
insert into steven(id,a1,a2,a5,a4) values(6,6,6,6,'6');
insert into steven(id,a1,a2,a5,a4) values(7,7,7,7,'7');
insert into steven(id,a1,a2,a5,a4) values(8,8,8,8,'8');
insert into steven(id,a1,a2,a5,a4) values(9,9,9,9,'9');
11、查看各个节点数据:
mysql> show databases;
+----------+
| Database |
+----------+
| group3   |
| group1   |
| group2   |
+----------+
3 rows in set (0.00 sec)
mysql> use group1;
Reading table infORMation for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+--------------------------------+
| Tables_in_test                 |
+--------------------------------+
| oneproxy_replication_timestamp |
| steven_0                       |
| steven_1                       |
| steven_2                       |
+--------------------------------+
4 rows in set (0.00 sec)
mysql> select * from steven_0
    -> ;
+----+----+------+----+---------------------+----+
| id | a1 | a2   | a5 | a3                  | a4 |
+----+----+------+----+---------------------+----+
|  3 |  3 |    3 |  3 | 2018-03-07 10:08:43 | 3  |
|  6 |  6 |    6 |  6 | 2018-03-07 10:08:43 | 6  |
|  9 |  9 |    9 |  9 | 2018-03-07 10:08:44 | 9  |
+----+----+------+----+---------------------+----+
3 rows in set (0.00 sec)
mysql> select * from steven_1
    -> ;
+----+----+------+----+---------------------+----+
| id | a1 | a2   | a5 | a3                  | a4 |
+----+----+------+----+---------------------+----+
|  1 |  1 |    1 |  1 | 2018-03-07 10:08:44 | 1  |
|  4 |  4 |    4 |  4 | 2018-03-07 10:08:44 | 4  |
|  7 |  7 |    7 |  7 | 2018-03-07 10:08:44 | 7  |
+----+----+------+----+---------------------+----+
3 rows in set (0.00 sec)
mysql> select * from steven_2;
+----+----+------+----+---------------------+----+
| id | a1 | a2   | a5 | a3                  | a4 |
+----+----+------+----+---------------------+----+
|  2 |  2 |    2 |  2 | 2018-03-07 10:08:43 | 2  |
|  5 |  5 |    5 |  5 | 2018-03-07 10:08:43 | 5  |
|  8 |  8 |    8 |  8 | 2018-03-07 10:08:43 | 8  |
+----+----+------+----+---------------------+----+
3 rows in set (0.01 sec)

您可能感兴趣的文档:

--结束END--

本文标题: OneProxy分库分表的搭建

本文链接: https://lsjlt.com/news/46540.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • OneProxy分库分表的搭建
    实验环境: 前期准备的三个节点的环形复制 master1:192.168.8.57 master2:192.168.8.58 master3:192.168.8.59 oneproxy:192.168.8....
    99+
    2024-04-02
  • MySQL分库分表工具oneproxy安装说明
                        oneproxy数据库中间件说明#wget http:/...
    99+
    2024-04-02
  • 图文演示通过OneProxy实现MySQL分库分表
    不知道大家之前对类似通过OneProxy实现MySQL分库分表的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完通过OneProxy实现MySQL分库分表你一定会有所...
    99+
    2024-04-02
  • 优雅的搭建OneProxy环境
    OneProxy简介(平民软件)OneProxy for MySQL可以复用不同应用到后端数据库的连接,有效降低数据库的并发连接数;可以即时踢除不可用的节点,将应用请求转发到其他可用节点,保证业务服务的稳定...
    99+
    2024-04-02
  • 分库分表
    分库分表前的问题 任何问题都是太大或者太小的问题,我们这里面对的数据量太大的问题。 用户请求量太大 因为单服务器TPS,内存,IO都是有限的。 解决方法:分散请求到多个服务器上; 其实用户请求和执行一个sql查询是本质是一样的,都是请求一个...
    99+
    2022-02-11
    分库分表
  • Docker搭建MySQL读写分离主从模式 & 分布式数据库中间件Mycat分库分表应用
    一、MySQL读写分离主从模式 1. 下载镜像 docker pull mysql 当前最新版本:mysql Ver 8.0.19 for Linux on x86_64 (MySQL Community Server - GPL) 2....
    99+
    2016-10-09
    Docker搭建MySQL读写分离主从模式 & 分布式数据库中间件Mycat分库分表应用
  • 10分钟搭建自己的Git仓库
    目录Gitlab服务端搭建下载Gitlab的Docker镜像运行如下命令来启动Gitlab开启防火墙的指定端口访问GitlabGitlab的使用选择创建项目、创建组织、创建帐号 创建...
    99+
    2024-04-02
  • mysql分库分表
    一、垂直拆分 1、垂直分库:在分布式系统开发中,基本都是按照模块划分,每个业务模块建立一个数据库  特点:业务区分度高,方便维护管理;各个模块独立维护,可以分摊系统的维护成本,提高可用性。  2、垂直分表:单张宽表,根据实际业务场景,...
    99+
    2015-03-08
    mysql分库分表
  • SQL分库分表
    历史背景 MySql性能瓶颈 1.    表数据量过大 2.    Sql查询过于复杂 3.    Sql没走索引 4.    数据库服务器性能低 解决方案 阿里开发手册:单表行数超过500W或者单表容量超过2G 数据库分库分表 分...
    99+
    2017-03-08
    SQL分库分表
  • 分库分表怎样分?
    1)分库     业务拆分 - 如顾客,商品,订单各自分独立的库     主备 - 主机做读写,备机只做数据备份     主从(读写分离) - 主机写,从机读     主主 - 任意一台机做写,互相复制     集群 - 一主多备、一主多从...
    99+
    2014-07-22
    分库分表怎样分?
  • 大表分库分表总结
    本篇内容介绍了“大表分库分表总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.前言为什么需要做分库分表...
    99+
    2024-04-02
  • MyCat分库分表的示例分析
    这篇文章主要为大家展示了“MyCat分库分表的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MyCat分库分表的示例分析”这篇文章吧。一、当前分片信息配...
    99+
    2024-04-02
  • 分库分表(了解)
    站在架构师的角度来看分库分表  单体应用架构 一个归档包(可以是JAR、WAR、EAR或其它归档格式)包含所有功能的应用程序,通常称为单体应用。 优点 便于共享:单个归档文件包含所有功能,便于在团队之间以及不同的部署阶段之间...
    99+
    2021-02-06
    分库分表(了解)
  • 分库分表介绍
    目录 一、前言         二、何谓数据切分 三、垂直切分 1、垂直分库 2、垂直分表 3、垂直切分优缺点 4、拆分需考虑的业务因素 四、水平切分 1、水平分库 2、水平分表 3、水平切分优缺点 五、垂直与水平切分的联合使用 六、数据分...
    99+
    2023-09-03
    mysql 分表分库 垂直水平 表分区 切分策略
  • MySql中的分表、分库、分片和分区的分析
    本篇内容介绍了“MySql中的分表、分库、分片和分区的分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!&...
    99+
    2024-04-02
  • oracle分布式数据库怎么搭建
    要搭建Oracle分布式数据库,可以按照以下步骤进行操作: 确保已经安装了Oracle数据库软件,并且有适当的许可证。 创建...
    99+
    2023-10-25
    oracle
  • Git仓库搭建及分支管理的方法
    这篇文章主要讲解了“Git仓库搭建及分支管理的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Git仓库搭建及分支管理的方法”吧!1. Git是什么?Git是一款开源的分布式版本控制系统,...
    99+
    2023-06-29
  • 分库分表的方法教程
    这篇文章主要介绍“分库分表的方法教程”,在日常操作中,相信很多人在分库分表的方法教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”分库分表的方法教程”的疑惑有所帮助!接下来,...
    99+
    2024-04-02
  • mongodb是怎么分库分表的
    在MongoDB中,可以使用分片(Sharding)来进行数据库的分库分表操作。分片是将一个数据库分散存储在多个机器上的过程。在Mo...
    99+
    2023-08-23
    mongodb
  • 数据库分库分表思路
    数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定位、整合。数据切分就是将数据分散存储到多个数据库中,使得单一数据库中的数据量变小,通过扩充主机的数量缓解单一数据库的性能问题,从而达到提升数据库操作性能的目的。 ...
    99+
    2017-10-27
    数据库分库分表思路
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作