mycat 安装和水平分表

1.拉取需要创建docker版的mycat资源

# 下载对应的资源
git clone https://github.com/ruanjiayu/docker.mycat
# 进入docker.mycat
cd /home/cluster/mycat/docker.mycat
# 构建镜像
docker-compose build

2.修改配置

vim config/mycat/schema.xml

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/"><schema name="dtu_prod" dataNode="dataNode1" checkSQLschema="true" sqlMaxLimit="100"><!--subTables="boards_$0-127"--><tablename="device_record"dataNode="dataNode1,dataNode2"rule="mod-long"/></schema><dataNode name="dataNode1" dataHost="dataHost1" database="dtu_prod" /><dataNode name="dataNode2" dataHost="dataHost2" database="dtu_prod" /><dataHost name="dataHost1" maxCon="1000" minCon="10" balance="0"writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1" slaveThreshold="100"><heartbeat>select user()</heartbeat><writeHosthost="ip"url="jdbc:mysql://ip:1003?useSSL=false&amp;serverTimezone=UTC&amp;characterEncoding=utf8"user="xxxx" password="xxxx"></writeHost></dataHost><dataHost name="dataHost2" maxCon="1000" minCon="10" balance="0"writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1" slaveThreshold="100"><heartbeat>select user()</heartbeat><writeHosthost="ip"url="jdbc:mysql://ip:1004?useSSL=false&amp;serverTimezone=UTC&amp;characterEncoding=utf8"user="xxxx" password="xxxx"></writeHost></dataHost></mycat:schema>


    balance
        0, 不开启读写分离机制,所有读操作都发送到当前可用的writeHost上。
        1,全部的readHost与stand by writeHost参与select语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且M1与M2互为主备),正常情况下,M2,S1,S2都参与select语句的负载均衡。
        2,所有读操作都随机的在writeHost、readhost上分发。
        3,所有读请求随机的分发到wiriterHost对应的readhost执行,writerHost不负担读压力

    writeType 表示写模式
        0,所有的操作发送到配置的第一个writehost
        1,随机发送到配置的所有writehost
        2,不执行写操作

    switchType 指的是切换的模式,目前的取值也有4种:
        -1,表示不自动切换
         1,默认值,表示自动切换
         2,基于MySQL主从同步的状态决定是否切换,心跳语句为show slave status
         3,基于MySQL galary cluster的切换机制(适合集群)(1.4.1),心跳语句为show status like ‘wsrep%‘。
  

3.rule.xml配置

	<tableRule name="mod-long"><rule><columns>record_id</columns><algorithm>mod-long</algorithm></rule></tableRule>

 columns 表主键字段名

<function name="mod-long" class="io.mycat.route.function.PartitionByMod"><!-- how many data nodes --><property name="count">2</property></function>

 要分片的数据库节点数量 我这边分成2个表

4.配置docker-compose.yml

version: '3'
services:mycat:build: .container_name: mycatvolumes:- ./config/mycat/:/mycat/conf/:ro- ./log/mycat-logs/:/mycat/logs/:rw#- /etc/localtime:/etc/localtime:ro- ./config/hosts:/etc/hosts:roports:- "8066:8066"- "9066:9066"ulimits:nproc: 65535hostname: mycat
#    mem_limit: 1024mrestart: always

 5.设置mycat的用户名,密码以及数据库名称

vim config/mycat/server.xml

<!-- Mycat 数据库用户名 --><user name="root"><!-- Mycat 数据库密码 --><property name="password">xxxx</property><!-- Mycat 数据库名 --><property name="schemas">dtu_prod</property><!-- 是否使用加密的密码,0 表示不使用加密的密码 --><property name="usingDecrypt">0</property></user>

 6.构建

docker-compose up -d

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

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

相关文章

three.js gltf后处理颜色异常(伽马校正)

效果&#xff1a; 应用了伽马校正&#xff0c;好像效果不明显 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"><…

各类好用的API推荐,赶紧收藏

快递物流订阅与推送&#xff08;含物流轨迹&#xff09;&#xff1a;【物流订阅与推送、H5物流轨迹、单号识别】支持单号的订阅与推送&#xff0c;订阅国内物流信息&#xff0c;当信息有变化时&#xff0c;推送到您的回调地址。地图轨迹支持在地图中展示包裹运输轨迹。包括顺丰…

考特殊教师证需要哪些条件

想要从事特殊教育工作&#xff0c;首先需要具备特殊教师证。那么&#xff0c;考取特殊教师证需要哪些条件呢&#xff1f;下面我将从几个方面为大家详细解答。 需要具备相应的学历背景。一般来说&#xff0c;申请特殊教师证需要具备本科及以上学历&#xff0c;且需要具备教育学、…

玩转朋友圈!这样运营朋友圈吸睛又吸金!

朋友圈已成为现代社交媒体中不可或缺的平台&#xff0c;并且有很大的潜力用于营销和推广。那么如何才能让朋友圈在众多用户中脱颖而出&#xff0c;吸引眼球并提升商业效益呢&#xff1f;主要从以下几点出发&#xff1a; 首先&#xff0c;要想吸引关注&#xff0c;您需要在朋友…

Python 雷达图的绘制(极坐标图) (Matplotlib篇-14)

Python 雷达图的绘制(极坐标图) (Matplotlib篇-14)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹…

关闭MobaXterm等连接linux服务器的软件,依旧可以后台运行程序

linux screen 命令 &#xff08;1&#xff09;连接服务器&#xff0c;在服务器终端安装screen apt install screen &#xff08;2&#xff09;创建screen窗口&#xff0c;mm为窗口名。就可以在这里运行你的命令了 此时该窗口的状态变为 Attached screen -S mm &#xff08;3…

手把手教你,Selenium 遇见伪元素该如何处理?

Selenium 遇见伪元素该如何处理&#xff1f; 前言 问题发生 在很多前端页面中&#xff0c;大家会见到很多&#xff1a;:before、::after 元素&#xff0c;比如【百度流量研究院】&#xff1a; 比如【百度疫情大数据平台】&#xff1a; 以【百度疫情大数据平台】为例&#xff…

一文掌握文本语义分割:从朴素切分、Cross-Segment到阿里SeqModel

前言 之所以写本文&#xff0c;源于以下两点 在此文《基于LangChainLLM的本地知识库问答&#xff1a;从企业单文档问答到批量文档问答》的3.5节中&#xff0c;我们曾分析过langchain-chatchat项目中文本分割相关的代码&#xff0c;当时曾提到该项目中的文档语义分割模型为达摩…

MySQL日志管理 、备份与恢复

mysql日志管理 、备份与恢复 备份的主要目的是灾难恢复&#xff0c;备份还可以测试应用、回滚数据修改、查询历史数据、审计等。 而备份、恢复中&#xff0c;日志起到了很重要的作用 #######前言&#xff1a;日志⭐⭐ MySQL 的日志默认保存位置为 /usr/local/mysql/data ##配…

全面解析vcruntime140_1.dll无法继续执行代码问题

在使用电脑的过程中&#xff0c;我们可能会遇到各种问题&#xff0c;如“找不到vcruntime140_1.dll无法继续执行代码”。vcruntime140_1.dll是Visual C Runtime Library&#xff08;视觉C运行时库&#xff09;的一个组件&#xff0c;主要用于支持应用程序的运行。这个文件包含了…

【AI】DETR模型可视化操作

Detr作为目标检测的算法&#xff0c;不同于之前算法的就是注意力机制&#xff0c;注意力机制能够直观看出来模型对图像关注的点&#xff0c;这个直观到底怎么直观呢&#xff0c;我们只听别人说肯定是不行的&#xff0c;上手测试才是最好的方式&#xff0c;像论文中插图那样的使…

听GPT 讲Rust源代码--compiler(4)

File: rust/compiler/rustc_codegen_gcc/src/back/mod.rs rust/compiler/rustc_codegen_gcc/src/back/mod.rs 文件是 Rust 编译器的源代码中的一个模块&#xff0c;主要负责与 GCC&#xff08;GNU 编译器集合&#xff09;相关的后端代码生成。 在 Rust 编译器的架构中&#xff…

系统崩溃无U盘重装Win10系统的方法

用户反映自己电脑上的操作系统出现了崩溃问题&#xff0c;无法通过简单的操作解决问题&#xff0c;想重新安装正常的操作系统&#xff0c;但是没有U盘不知道要怎么操作才能安装好系统&#xff1f;接下来小编带来系统崩溃无U盘重装Win10系统的方法步骤介绍&#xff0c;用户们可以…

关键字:volatile关键字

volatile关键字是 Java 语言中的一个修饰符&#xff0c;用于修饰变量。当一个变量被声明为volatile时&#xff0c;它具有以下特性&#xff1a; 可见性&#xff1a;当一个线程修改了volatile变量的值时&#xff0c;其他线程可以立即看到这个修改。这是因为volatile变量在多个线程…

一键远程管理多个泵房供水设备

一站式多个泵房供水设备物联网远程监控系统的方案 第一部分&#xff1a;项目背景与需求分析 1.1 项目背景 随着城市化进程的加快&#xff0c;对供水系统的需求不断增加。然而&#xff0c;传统的泵房供水设备管理方式存在效率低下、人工成本高、安全隐患较大等问题。因此&…

代码随想录Day8

title: 代码随想录Day8 date: 2024-01-03 17:41:58 代码随想录笔记 categories:技术 代码随想录Day8|[344.] 翻转字符串|541 翻转字符串2| 思路 从前往后和从后往前两个指针不断运行交换即可 代码 class Solution { public:void reverseString(vector<char>& s…

HTML中网页缩放配置mete-viewport

<meta name"viewport" content"widthdevice-width, intial-scale0, maximum-scale0, user-scalableyes, shrink-to-fitno" > 说明 这是一个用于设置网页视口&#xff08;viewport&#xff09;的HTML <meta> 标签。视口是用户在网页上看到的…

LeetCode刷题---旋转图像

解题思路&#xff1a; 首先对主对角线两边的元素进行交换 接着走一轮遍历&#xff0c;将第1列和第n列进行交换&#xff0c;第2列和第n-1列进行交换&#xff0c;直至得到最终的矩阵。 代码实现&#xff1a; public void rotate(int[][] matrix) {//首先对主对角线的元素进行交换…

对技术行业的深度思考

技术行业是当今世界最为热门和发展迅猛的领域之一。无论是互联网、人工智能还是区块链&#xff0c;技术的快速发展正在改变着我们的生活和社会。然而&#xff0c;我们是否真正思考过技术在我们生活中的影响和意义&#xff1f;本文将对技术行业展开深度思考&#xff0c;探讨其带…

【JVM面试题】Java中的静态方法为什么不能调用非静态方法

昨晚京东大佬勇哥在群里分享了一道他新创的JVM面试题&#xff0c;我听完后觉得还挺有意思的&#xff0c;分享给大家 小佬们先别急着看我的分析&#xff0c;先自己想想答案 你是不是想说 因为静态方法是属于类的&#xff0c;而非静态方法属于实例对象 哈&#xff0c;有人这样回答…