当前位置: 首页 > news >正文

linux中,mysql数据库分片(分库分表)

1.mysql分库分表:解决单个mysql存储上限问题1.实现方法:存储层面:利用分布式存储解决方案分库分表:拆分库和表到其它服务器2.常用设计思路:垂直分库(库里面的表分开)+水平分表(表里面的数据分开)分库:数据库分为多个,每个数据库里面都有表,数据均匀存储分库分表:在分的每库里面,进行分表,数据均匀存储到各表3.分片规则MOD_HASHUNI_HASHRIGHT_SHIFTYYYYMMWEEK...4.架构客户端分片服务器主                主从                从5.分库分表操作分类:(1)分片表,(2)ER表:针对具有关联关系的表,对于没有声明分库分表的逻辑,也会参考复杂表的分库分表逻辑(3)全局表:所有库都有表的全部数据(副本)语法:dbpartition by 规则(字段)tbpartitino by 规则(字段)mode_hash() 取余哈系分片规则tbpartitions 表分片数量dbpartitions 库分片数量broadcast:全局表6.分库分表搭建步骤1.配置主从同步2.装mycat包,以及依赖包3.配置mycat,users的用户4.配置本机datasource数据源用户,创建用户授权5.mycat中,配置datasource数据源连接其它主机,mysql的主服务器创建plj用户//添加MySQL59主机MySQL>/*+ mycat:createdatasource{"name":"dw0","url":"jdbc:mysql://192.168.88.59:3306","user":"plj","password":"123456"}*/;//添加MySQL60主机//添加MySQL61主机//添加MySQL62主机6.mycat上搭建2个主从结构的集群c0,c1(分库分表的集群名称必须定义为c0,c1...)mysql>/*! mycat:createcluster{"name":"c0","masters":["dw0"], #主服务器名"replicas":["dr0"] #从服务器名}*/;...7.分片操作(1)mycat上建立数据库,不需要配置逻辑库.mysql -h192.168.88.63 -P8066 -umycat –p654321create database tarena;(2)mycat,建表,分片create table tarena.employees(employee_id  int  primary key,name char(10),dept_id int , mail varchar(30)) dbpartition BY mod_hash(字段) tbpartition BY mod_hash(employee_id) dbpartitions 2tbpartitions 1;(3)mycat,插入数据测试mysql -h192.168.88.63 -P8066 -umycat –p654321insert into tarena.employees values (9,"jim","1","jim@163.com");insert into tarena.employees values (8,"tom","3","tom@QQ.com");insert into tarena.employees values (7,"lucy","2","lucy@QQ.com");insert into tarena.employees values (6,"john","2","john@QQ.com");

3.mysql分库分表:解决单个mysql存储上限问题

    1.实现方法:
        存储层面:利用分布式存储解决方案
        分库分表:拆分库和表到其它服务器

    2.常用设计思路:
        垂直分库(库里面的表分开)+水平分表(表里面的数据分开)

        分库:数据库分为多个,每个数据库里面都有表,数据均匀存储
        分库分表:在分的每库里面,进行分表,数据均匀存储到各表

    3.分片规则
        MOD_HASH
        UNI_HASH
        RIGHT_SHIFT
        YYYYMM
        WEEK
        ...
        
    4.架构
             客户端
            分片服务器
        主                主
        从                从

    5.分库分表操作
        分类:(1)分片表,
            (2)ER表:针对具有关联关系的表,对于没有声明分库分表的逻辑,也会参考复杂表的分库分表逻辑
            (3)全局表:所有库都有表的全部数据(副本)
        语法:
            dbpartition by 规则(字段)
            tbpartitino by 规则(字段)
    
            mode_hash() 取余哈系分片规则
                
            tbpartitions 表分片数量
            dbpartitions 库分片数量

            broadcast:全局表

    6.分库分表搭建步骤
        1.配置主从同步
        2.装mycat包,以及依赖包
        3.配置mycat,users的用户
        4.配置本机datasource数据源用户,创建用户授权
        5.mycat中,配置datasource数据源连接其它主机,mysql的主服务器创建plj用户
            //添加MySQL59主机
            MySQL>/*+ mycat:createdatasource{
            "name":"dw0",
            "url":"jdbc:mysql://192.168.88.59:3306",
            "user":"plj",
            "password":"123456"
            }*/;
            //添加MySQL60主机
            //添加MySQL61主机
            //添加MySQL62主机
        6.mycat上搭建2个主从结构的集群c0,c1(分库分表的集群名称必须定义为c0,c1...)
            mysql>/*! mycat:createcluster{
                "name":"c0",
                "masters":["dw0"], #主服务器名
                "replicas":["dr0"] #从服务器名
            }*/;
            ...
        7.分片操作
            (1)mycat上建立数据库,不需要配置逻辑库.
                mysql -h192.168.88.63 -P8066 -umycat –p654321
                create database tarena;
    
            (2)mycat,建表,分片
                create table tarena.employees(
                    employee_id  int  primary key,
                    name char(10),
                    dept_id int , 
                    mail varchar(30)
                ) 
                dbpartition BY mod_hash(字段) 
                tbpartition BY mod_hash(employee_id) 
                dbpartitions 2
                tbpartitions 1;
    
            (3)mycat,插入数据测试
                mysql -h192.168.88.63 -P8066 -umycat –p654321
                insert into tarena.employees values (9,"jim","1","jim@163.com");
                insert into tarena.employees values (8,"tom","3","tom@QQ.com");
                insert into tarena.employees values (7,"lucy","2","lucy@QQ.com");
                insert into tarena.employees values (6,"john","2","john@QQ.com");

相关文章:

linux中,mysql数据库分片(分库分表)

1.mysql分库分表:解决单个mysql存储上限问题1.实现方法:存储层面:利用分布式存储解决方案分库分表:拆分库和表到其它服务器2.常用设计思路:垂直分库(库里面的表分开)水平分表(表里面的数据分开)分库:数据库分为多个,每个数据库里面都有表,数据均匀存储分库分表:在分的每库里面,…...

springboot503基于Sringboot+Vue个人驾校预约管理系统(论文+源码)_kaic

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装个人驾校预约管理系统软件来发挥其高效地信息处理的作用&am…...

Docker应用-项目部署及DockerCompose

文章目录 Docker应用-项目部署1. 项目部署-后端1.1 修改配置1.2 项目打包1.3 编写Dockerfile1.4 创建镜像1.5 创建并运行容器1.6 测试 2. 项目部署-前端2.1 html前端静态目录2.2 nginx.config编写2.3 部署宿主机服务器2.4 创建容器并挂载2.5 测试 3. DockerCompose3.1 基本语法…...

从0入门自主空中机器人-2-1【无人机硬件框架】

关于本课程: 本次课程是一套面向对自主空中机器人感兴趣的学生、爱好者、相关从业人员的免费课程,包含了从硬件组装、机载电脑环境设置、代码部署、实机实验等全套详细流程,带你从0开始,组装属于自己的自主无人机,并让…...

Kafka高性能设计

高性能设计概述 Kafka高性能是多方面协同的结果,包括集群架构、分布式存储、ISR数据同步及高效利用磁盘和操作系统特性等。主要体现在消息分区、顺序读写、页缓存、零拷贝、消息压缩和分批发送六个方面。 消息分区 存储不受单台服务器限制,能处理更多数据…...

Redis字符串底层结构对数值型的支持常用数据结构和使用场景

字符串底层结构 SDS (Simple Dynamic Strings) 是 Redis 中用于实现字符串类型的一种数据结构。SDS 的设计目标是提供高效、灵活的字符串操作,同时避免传统 C 字符串的一些缺点。 struct sdshdr {int len; // 已使用的长度int free; // 未使用的长度char bu…...

uniapp 微信小程序 数据空白展示组件

效果图 html <template><view class"nodata"><view class""><image class"nodataimg":src"$publicfun.locaAndHttp()?localUrl:$publicfun.httpUrlImg(httUrl)"mode"aspectFit"></image>&l…...

在vscode的ESP-IDF中使用自定义组件

以hello-world为例&#xff0c;演示步骤和注意事项 1、新建ESP-IDF项目 选择模板 从hello-world模板创建 2、打开项目 3、编译结果没错 正在执行任务: /home/azhu/.espressif/python_env/idf5.1_py3.10_env/bin/python /home/azhu/esp/v5.1/esp-idf/tools/idf_size.py /home…...

目标检测,语义分割标注工具--labelimg labelme

1 labelimg labelimg可以用来标注目标检测的数据集&#xff0c; 提供多种格式的输出&#xff0c; 如Pascal Voc, YOLO等。 1.1 安装 pip install labelimg1.2 使用 命令行直接输入labelimg即可打开软件主界面进行操作。 使用非常简单&#xff0c; 不做过细的介绍&#xff0…...

发明专利与实用新型专利申请过程及自助与代办方式对比

申请专利&#xff08;发明专利、实用新型专利、外观设计专利&#xff09;有两种方式&#xff1a;1、自己直接向国家知识产权局申请。2、通过专利代办处申请。以下是对这两种专利类型&#xff08;发明专利、实用新型专利&#xff09;申请过程及两种申请方式的详细介绍和对比,参考…...

Datawhale AI冬令营(第二期)动手学AI Agent task2--学Prompt工程,优化Agent效果

目录 如何写好Prompt&#xff1f; 工具包神器1&#xff1a;Prompt框架——CO-STAR 框架 工具包神器2&#xff1a;Prompt结构优化 工具包神器3&#xff1a;引入案例 案例&#xff1a;构建虚拟女友小冰 1. 按照 CO-STAR框架 梳理目标 2. 撰写Prompt 3. 制作对话生成应用&…...

基于python对网页进行爬虫简单教程

python对网页进行爬虫 基于BeautifulSoup的爬虫—源码 """ 基于BeautifulSoup的爬虫###?一、BeautifulSoup简介1.?Beautiful?Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱&#xff0c;通过解析文档为用户提供…...

【JavaEE进阶】@RequestMapping注解

目录 &#x1f4d5;前言 &#x1f334;项目准备 &#x1f332;建立连接 &#x1f6a9;RequestMapping注解 &#x1f6a9;RequestMapping 注解介绍 &#x1f384;RequestMapping是GET还是POST请求&#xff1f; &#x1f6a9;通过Fiddler查看 &#x1f6a9;Postman查看 …...

【WebAR-图像跟踪】在Unity中基于Imagine WebAR实现AR图像识别

写在前面的话 感慨一下&#xff0c; WebXR的发展是真的快&#xff0c;20年的时候&#xff0c;大多都在用AR.js做WebAR。随着WebXR标准发展&#xff0c;现在诸如Threejs、AFrame、Unity等多个平台都支持里WebXR。 本文将介绍在Unity中使用 Image Tracker实现Web端的AR图像识别功…...

向bash shell脚本传参

例子&#xff1a; ~ script % touch parameter.sh ~ script % chmod 755 parameter.sh ~ % vim parameter.shparameter.sh: #!/usr/bin/env bashecho the name of current script is $0echo the first parameter is $1echo the second parameter is $2echo all parameters: $…...

Oracle中listagg与wm_concat函数的区别

Oracle中listagg与wm_concat都可以用于将多行数据合并成一个字符串的两个函数&#xff0c;区别如下&#xff1a; 1、分隔符&#xff1a;listagg支持指定分隔符&#xff0c;wm_concat默认为"&#xff0c;"不支持指定&#xff1b; 2、排序&#xff1a;listagg支持排序后…...

热更新与资源管理

热更新、资源管理、打包发布是 Unity 游戏开发中关键的技术点。这些功能可以极大地提高项目的灵活性和资源利用效率&#xff0c;尤其是在多平台、长生命周期的游戏项目中。以下从技术概述、知识点分析、实现方法和代码举例逐一进行详细分析。 一、热更新 热更新指在不重新发布…...

Momentum Provably Improves Error Feedback!

以下是您提供的论文摘要的翻译&#xff1a; **摘要** 由于在分布式环境中训练机器学习模型时通信开销较高&#xff0c;现代算法不可避免地依赖于有损通信压缩。然而&#xff0c;如果不加以处理&#xff0c;压缩造成的错误会传播&#xff0c;并可能导致严重的不稳定行为&#…...

Elasticsearch-脚本查询

脚本查询 概念 Scripting是Elasticsearch支持的一种专门用于复杂场景下支持自定义编程的强大的脚本功能&#xff0c;ES支持多种脚本语言&#xff0c;如painless&#xff0c;其语法类似于Java,也有注释、关键字、类型、变量、函数等&#xff0c;其就要相对于其他脚本高出几倍的性…...

《Opencv》基础操作详解(3)

接上篇&#xff1a;《Opencv》基础操作详解&#xff08;2&#xff09;-CSDN博客 Opencv基础操作 目录 Opencv基础操作 18、图像边界填充 19、阈值处理&#xff08;图像的二值化&#xff09; 20、图像平滑处理 &#xff08;1&#xff09;、均值滤波&#xff08;Mean Filte…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用

在工业制造领域&#xff0c;无损检测&#xff08;NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统&#xff0c;以非接触式光学麦克风技术为核心&#xff0c;打破传统检测瓶颈&#xff0c;为半导体、航空航天、汽车制造等行业提供了高灵敏…...