mysql 水平拆分实例_2021先定个小目标?搞清楚MyCat分片的两种拆分方法和分片规则!(二):水平拆分实例解析和代码实现!...

一、概述

根据表中的数据的逻辑关系,将同一个表中的数据按照某种条件拆分到多台数据库(主机)上面,这种切分称之为数据的水平(横向)切分。

c1feb61222f7

二、案例场景

c1feb61222f7

在业务系统中, 有一张表(日志表), 业务系统每天都会产生大量的日志数据 , 单台服务器的数据存储及处理能力是有限的, 可以对数据库表进行拆分, 原有的数据库表拆分成以下表 :

c1feb61222f7

参考资料:《开源数据库中间件MyCat实战笔记》

快速入手通道:发送简信“MyCat资料”免费获取

三、准备工作

1.准备三台数据库实例

192.168.192.157

192.168.192.158

192.168.192.159

2.在三台数据库实例中创建数据库

create database log_db DEFAULT CHARACTER SET utf8mb4;

四、schema.xml的配置

select user()

select user()

select user()

五、server.xml的配置

123456

LOG_DB

123456

LOG_DB

123456

LOG_DB

true

六、测试

1.在MyCat数据库中执行建表语句

CREATE TABLE `tb_log` (

`id` bigint(20) NOT NULL COMMENT 'ID',

`model_name` varchar(200) DEFAULT NULL COMMENT '模块名',

`model_value` varchar(200) DEFAULT NULL COMMENT '模块值',

`return_value` varchar(200) DEFAULT NULL COMMENT '返回值',

`return_class` varchar(200) DEFAULT NULL COMMENT '返回值类型',

`operate_user` varchar(20) DEFAULT NULL COMMENT '操作用户',

`operate_time` varchar(20) DEFAULT NULL COMMENT '操作时间',

`param_and_value` varchar(500) DEFAULT NULL COMMENT '请求参数名及参数值',

`operate_class` varchar(200) DEFAULT NULL COMMENT '操作类',

`operate_method` varchar(200) DEFAULT NULL COMMENT '操作方法',

`cost_time` bigint(20) DEFAULT NULL COMMENT '执行方法耗时, 单位 ms',

`source` int(1) DEFAULT NULL COMMENT '来源 : 1 PC , 2 Android , 3 IOS',

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

2.插入数据

INSERT INTO `tb_log` (`id`, `model_name`, `model_value`, `return_value`,

`return_class`, `operate_user`, `operate_time`, `param_and_value`, `operate_class`,

`operate_method`, `cost_time`,`source`)

VALUES('1','user','insert','success','java.lang.String','10001','2020-02-26 18:12:28','{\"age\":\"20\",\"name\":\"Tom\",\"gender\":\"1\"}','cn.itcast.controller.UserController','insert','10',1);

INSERT INTO `tb_log` (`id`, `model_name`, `model_value`, `return_value`,`return_class`,

`operate_user`, `operate_time`, `param_and_value`, `operate_class`, `operate_method`, `cost_time`,`source`)

VALUES('2','user','insert','success','java.lang.String','10001','2020-02-26 18:12:27','{\"age\":\"20\",\"name\":\"Tom\",\"gender\":\"1\"}','cn.itcast.controller.UserController','insert','23',1);

INSERT INTO `tb_log` (`id`, `model_name`, `model_value`, `return_value`, `return_class`, `operate_user`, `operate_time`, `param_and_value`, `operate_class`,

`operate_method`, `cost_time`,`source`)

VALUES('3','user','update','success','java.lang.String','10001','2020-02-26 18:16:45','{\"age\":\"20\",\"name\":\"Tom\",\"gender\":\"1\"}','cn.itcast.controller.UserController','update','34',1);

INSERT INTO `tb_log` (`id`, `model_name`, `model_value`, `return_value`,

`return_class`, `operate_user`, `operate_time`, `param_and_value`, `operate_class`,

`operate_method`, `cost_time`,`source`)

VALUES('4','user','update','success','java.lang.String','10001','2020-02-26 18:16:45','{\"age\":\"20\",\"name\":\"Tom\",\"gender\":\"1\"}','cn.itcast.controller.UserController','update','13',2);

INSERT INTO `tb_log` (`id`, `model_name`, `model_value`, `return_value`,

`return_class`, `operate_user`, `operate_time`, `param_and_value`, `operate_class`,

`operate_method`, `cost_time`,`source`)

VALUES('5','user','insert','success','java.lang.String','10001','2020-02-26 18:30:31','{\"age\":\"200\",\"name\":\"TomCat\",\"gender\":\"0\"}','cn.itcast.cont roller.UserController','insert','29',3);

INSERT INTO `tb_log` (`id`, `model_name`, `model_value`, `return_value`,

`return_class`, `operate_user`, `operate_time`, `param_and_value`, `operate_class`,

`operate_method`, `cost_time`,`source`)

VALUES('6','user','find','success','java.lang.String','10001','2020-02 2618:30:31','{\"age\":\"200\",\"name\":\"TomCat\",\"gender\":\"0\"}','cn.itcast.cont roller.UserController','find','29',2);

参考资料:《开源数据库中间件MyCat实战笔记》

快速入手通道:发送简信“MyCat资料”免费获取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

30分钟快速搭建移动应用直传OSS服务

30分钟快速搭建移动应用直传服务 背景 这是一个移动互联的时代。手机APP上传的数据会越来越多。把数据存储的问题交给OSS, 让开发者能更加专注于自己的应用逻辑。 那么怎么样基于OSS构建一个APP存储系统呢? 目的 本教程就是让你在30分钟内搭建一个基于OS…

用java判断一个年份是否为闰年_判断闰年还是平年

↑↑↑点击上方图片&#xff0c;了解详情正文&#xff1a;判断一个年份是闰年还是平年。闰年条件&#xff1a;1.可以被400整除。2.可以被4整除&#xff0c;但是不可以被100整除。代码&#xff1a;Private Sub 查询_Click() If Me.年份 Mod 4 0 And Me.年份 Mod 100 <> 0…

PAT L1-048 矩阵A乘以B

https://pintia.cn/problem-sets/994805046380707840/problems/994805082313310208 给定两个矩阵A和B&#xff0c;要求你计算它们的乘积矩阵AB。需要注意的是&#xff0c;只有规模匹配的矩阵才可以相乘。即若A有R​a​​行、C​a​​列&#xff0c;B有R​b​​行、C​b​​列&a…

【JavaScript吉光片羽】--- 滑动条

灯光的亮度控制需要一个滑动条&#xff0c;先借用lamp源码中Bar&#xff1a; var Bar function (opt) {var defaults {$id: "", // 进度条dom节点idmin: 1, // 刻度最小值stepCount: 5, // 刻度步数step: 1, // 刻度步长$alpha: "",//显示亮度的idtouchE…

ldd /usr/bin/mysql_mysql客户端登录时报mysql: relocation error错误

在安装了xtrabackup后&#xff0c;再用下列命令登录时报下列错误[rootlocalhost ~]# mysql -u root -pmysql: relocation error: mysql: symbol strmov, version libmysqlclient_16 not defined in file libmysqlclient.so.16 with link time reference解决方法&#xff1a;查看…

python语言用什么关键字来声明一个类_python使用什么关键字定义类

什么是类&#xff1f; 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 什么是方法&#xff1f; 类中的函数即为方法 如何定义一个类&#xff1f; 定义类&#xff0c;语法格式如下&#xff1a;class ClassName:. . .…

谷歌+安卓,他已经改变了世界两次,但还想多来几次

回望拉里佩奇的创业经历&#xff0c;小巴发现他在几个创业者最有可能犯&#xff08;si&#xff09;错&#xff08;bi&#xff09;的节点上都处理得很好。 你还记得你用的第一个搜索网站是什么吗&#xff1f; Google.com 讲到它的创始人&#xff0c;一般要连起来念&#xff0c; …

centos7 DNS服务器搭建

DNS&#xff0c;全称Domain Name System&#xff0c;即域名解析系统。 DNS帮助用户在互联网上寻找路径。在互联网上的每一个计算机都拥有一个唯一的地址&#xff0c;称作“IP地址”&#xff08;即互联网协议地址&#xff09;。由于IP地址&#xff08;为一串数字&#xff09;不方…

lisp中怎样调取图形_CAD的lisp程序已加载,怎样绘图?

回答&#xff1a;1.计算所有线段总长度(加载后只需框选所有线段便可得出这些线段的总长度)(defun c:LL ()(setvar "cmdecho" 1)(setq en (ssget(list (0 . "spline,arc,line,ellipse,LWPOLYLINE"))))(setq i 0)(setq ll 0)(repeat (sslength en)(setq ss (…

Java Web的web.xml文件作用及基本配置(转)

其实web.xml就是asp.net的web.config一个道理。 说明&#xff1a; 一个web中完全可以没有web.xml文件&#xff0c;也就是说&#xff0c;web.xml文件并不是web工程必须的。 web.xml文件是用来配置&#xff1a;欢迎页、servlet、filter等的。当你的web工程没用到这些时&#xff0…

stand up meeting 12/21/2015

part组员 工作 工作耗时/h明日计划工作耗时/h UI冯晓云 完成PDF UI主页面的页面切换功能&#xff0c;待完善 4 完善页面切换&#xff0c;修补弹窗bug 4foxit PDF Reader朱玉影 修改了对pdf中文本进行搜索的代码&#xff0c;使其更加robust 4 pdf…

python快速检测视频跳过帧_使用Python实现跳帧截取视频帧

本文实例为大家分享了Python跳帧截取视频帧的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 可以自由设定时长来截取视频&#xff0c;经实测效果理想。期间遇到的一个麻烦是我的视频文件在D:盘&#xff0c;在原视频D盘目录上不能保存截取的图片文件&#xff0c;后改…

BZOJ3999: [TJOI2015]旅游

BZOJ3999: [TJOI2015]旅游 Description 为了提高智商&#xff0c;ZJY准备去往一个新世界去旅游。这个世界的城市布局像一棵树。每两座城市之间只有一条路径可以互达。每座城市都有一种宝石&#xff0c;有一定的价格。ZJY为了赚取最高利益&#xff0c;她会选择从A城市买入再转手…

一张图看懂单机/集群/热备/磁盘阵列(RAID)

单机部署(Standalone) 只有一个饮水机提供服务器&#xff0c;服务只部署一份 集群部署(Cluster) 多个饮水机同时提供服务&#xff0c;服务冗余部署&#xff0c;每个冗余的服务都对外提供服务&#xff0c;一个服务挂掉时依然可用 热备部署(Hot-swap) 只有一个桶提供服务&#xf…

typescript vuex_Vue3+TypeScript完整项目上手教程

作者&#xff1a;TinssonTaihttps://juejin.im/post/6875713523968802829一个完整的Vue3Ts项目,支持.vue和.tsx写法 项目地址&#xff1a;https://github.com/vincentzyc/vue3-demo.gitTypeScript 是JS的一个超集&#xff0c;主要提供了类型系统和对ES6的支持&#xff0c;使用 …

JS中window.showModalDialog()详解

window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框。 window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框。 使用方法&#xff1a; vReturnValue window.showModalDialog(sURL [, vArguments] [,sFeatures]) vReturnValue window.show…

一个简单的javascript节流器实现

节流器 javascript的节流器主要用于延缓某些动作的执行&#xff0c;比如ajax请求&#xff0c;如果input框注册了input事件&#xff0c;那么当用户输入时就会持续的触发这个事件&#xff0c;如果回调函数中持续的通过ajax调用后台的接口&#xff0c;就会对服务器产生一定压力。这…

一些会用到的知识

为什么80%的码农都做不了架构师&#xff1f;>>> HtmlAgilityPack 用来解析HTML代码 microsoft.mshtml CsQuery 解析HTML代码 转载于:https://my.oschina.net/uwith/blog/813725

eclipse怎么升级到java ee,如何为Java EE开发人员升级Eclipse?

Is there any non-painful way to upgrade an Eclipse installation? I have tried browsing the eclipse site but I cannot find an useful description.解决方案Add the update URL to your available sites:Window > Preferences > Install/Update > Available S…

LeetCode 7 Reverse Integer(反转数字)

题目来源&#xff1a;https://leetcode.com/problems/reverse-integer/ Reverse digits of an integer. Example1: x 123, return 321Example2: x -123, return -321 解题思路&#xff1a; 其实这道题看起来非常简单&#xff0c;要实现也是几行代码的事。但是有个小问题容易被…