mycat 安装和水平分表

news2024/11/27 9:34:34

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"-->
		<table
				name="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>
		<writeHost
				host="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>
		<writeHost
				host="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: mycat
    volumes:
      - ./config/mycat/:/mycat/conf/:ro
      - ./log/mycat-logs/:/mycat/logs/:rw
      #- /etc/localtime:/etc/localtime:ro
      - ./config/hosts:/etc/hosts:ro
    ports:
      - "8066:8066"
      - "9066:9066"
    ulimits:
      nproc: 65535
    hostname: mycat
#    mem_limit: 1024m
    restart: 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.coloradmin.cn/o/1357240.html

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

相关文章

Mac M1 Parallels CentOS7.9 Install Parallels Tools

一、挂载parallels-tools安装包 mkdir /media/cdrom/ mount /dev/cdrom /media/cdrom/ mount: /dev/sr0 写保护&#xff0c;将以只读方式挂载二、GCC升级 yum install -y centos-release-scl yum install -y devtoolset-8-gcc*# 切换当前会话中gcc版本为8 scl enable devtool…

【OJ比赛日历】快周末了,不来一场比赛吗? #01.06-01.12 #10场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号会推送最新的比赛消息&#xff0c;欢迎关注&#xff01; 以下信息仅供参考&#xff0c;以比赛官网为准 目录 2024-01-06&#xff08;周六&#xff09; #4场比赛2024-01-07…

Unity3D入门基础知识汇总

1、参考链接 01.游戏引擎是啥玩意&#xff1f;_哔哩哔哩_bilibili 2、unity概念 它是一套具有完善体系与编辑器的跨平台游戏开发工具&#xff0c;也称之为游戏引擎。游戏引擎是指一些编写好的可重复利用的代码与开发游戏所用的各功能编辑器。 3、unity界面 右上边可以切换布局…

图像评价指标PSNR、SSIM、LPIPS、FID(接上篇,这篇主要讲FID)

关于FID的计算&#xff0c;这里我直接使用startGANv2中的计算FID的方法&#xff0c;比较简单&#xff0c;快速。理论部分我就不讲了&#xff0c;网上一搜一大堆&#xff0c;我写的都是干货&#xff08;主要是怕太长了&#xff0c;没人看&#x1f602;&#xff09; 上一篇是关于…

苹果电脑菜单栏应用管理软件Bartender 4 mac软件特点

Bartender mac是一款可以帮助用户更好地管理和组织菜单栏图标的 macOS 软件。它允许用户隐藏和重新排列菜单栏图标&#xff0c;从而减少混乱和杂乱。 Bartender mac软件特点 菜单栏图标隐藏&#xff1a;Bartender 允许用户隐藏菜单栏图标&#xff0c;只在需要时显示。这样可以…

【React系列】网络框架axios库的使用

本文来自#React系列教程&#xff1a;https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. axios库的基本使用 1.1. 网络请求的选择 目前前端中发送网络请求的方式有很多种&#xff1a; 选择一:传统的Aj…

指令周期流程图相关题目

已知CPU结构如下图所示&#xff0c;其中包括一个累加器AC、一个状态寄存器和其他几个寄存器。各部分之间的连线表示数据通路&#xff0c;箭头表示信息传递方向。试完成以下工作&#xff1a;①写出图中四个寄存器A、B、C、D的名称和作用&#xff1b;②简述完成指令ADD Y的数据通…

一篇文章学会Vim

一篇文章学会Vim 声明&#xff1a;以下内容均为我个人的理解&#xff0c;如果发现错误或者疑问可以联系我共同探讨 简介 Vim是一个高度可定制的终端文本编辑器&#xff0c;它可以很方便的创建和修改任何类型的文本。作为vi的升级版&#xff0c;有许多新的特性(以下列出的特性…

C# 使用Microsoft消息队列(MSMQ)

写在前面 Microsoft Message Queuing (MSMQ) 是在多个不同的应用之间实现相互通信的一种异步传输模式&#xff0c;相互通信的应用可以分布于同一台机器上&#xff0c;也可以分布于相连的网络空间中的任一位置。 使用消息队列可以实现异步通讯&#xff0c;无需关心接收端是否在…

CentOs搭建Kafka集群

Centos7搭建Kafka集群 一、集群规划二、环境准备三、安装kafka集群1、下载kafka安装包2、解压3、配置环境变量4、编辑配置文件①修改broker.id②配置kafka运行日志路径③配置Zookeeper集群地址 5、启动集群6、测试kafka①、创建topic②、查看当前服务器中的所有topic③、生产者…

算法导论复习——CHP16 贪心算法

定义 每一步都做出当前看来最优的操作。 问题引入——活动选择问题 问题描述 活动选择问题就是对给定的包含n个活动的集合S&#xff0c;在已知每个活动开始时间和结束时间的条件下&#xff0c;从中选出最多可兼容活动的子集合&#xff0c;称为最大兼容活动集合。 不失一般性&a…

Ps 滤镜:极坐标

Ps菜单&#xff1a;滤镜/扭曲/极坐标 Filter/Distort/Polar Coordinates 极坐标 Polar Coordinates滤镜可用来进行平面坐标&#xff08;笛卡尔坐标&#xff09;和极坐标之间的相互转换&#xff0c;从而将矩形图像转换为圆形图像&#xff0c;或者将圆形图像转换为矩形图像。 平面…

安装extiverse/mercury时报错

问题描述 作者在安装 Flarum 的插件 extiverse/mercury 时报错&#xff0c;内容如下图所示 解决方案 ⚠警告&#xff1a;请备份所有数据再进行接下来的操作&#xff0c;此操作可能会导致网站不可用&#xff01; 报错原因&#xff1a;主要问题是在安装过程中解决依赖关系。具…

MySQL之CRUD、常见函数及union查询

一、CRUD 1.1 SELECT&#xff08;查询&#xff09; 概念&#xff1a; 查询数据是指从数据库中根据需求&#xff0c;使用不同的查询方式来获取不同的数据&#xff0c;是使用频率最高、最重要的操作。 语法&#xff1a; SELECT {* | <字段列名>} [FROM<表 1>&#…

UE4 4.21使用编辑器蓝图EditorBlueprint方法

在UE4 4.21中&#xff0c;编辑器蓝图&#xff08;Editor Blueprint&#xff09;是一个强大的工具&#xff0c;允许开发者扩展和自定义Unreal编辑器的功能。通过编辑器蓝图&#xff0c;我们可以创建自定义的工具和功能&#xff0c;以优化开发流程。 本教程将指导您如何在UE4 4.…

力扣2397.被列覆盖的最多行数,二进制枚举

借用评论区一位哥们的说法就是&#xff1a;假设有一个m*n的草坪&#xff0c;每块草坪分为有僵尸&#xff08;1&#xff09;和每僵尸&#xff08;0&#xff09;的情况&#xff0c;现在有numslect个竖排生效的火爆辣椒&#xff0c;问在哪几竖排使用火爆辣椒可以保住最多的小推车 …

力扣题:字符串变换-1.5

力扣题-1.5 [力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 力扣题1&#xff1a;482. 密钥格式化 解题思想&#xff1a;首先先将破折号去除,并将所有字母转换为大写,然后计算第一组的长度,进行结果字符串的拼接,如果第一组的长度为0,则需要删除开头的’-符号 class S…

【 Rosetta:多目标抗体设计全攻略】

Rosetta&#xff0c;一个在抗体设计界具有划时代意义的软件&#xff0c;被誉为抗体设计界的封神之作。它由美国华盛顿大学开发&#xff0c;旨在通过计算机模拟技术&#xff0c;快速、准确地预测抗体的结构和性质&#xff0c;为抗体药物研发提供了强有力的支持。 在抗体设计领域…

21. Mysql 事件或定时任务,解放双手,轻松实现自动化

文章目录 概念常见操作事件调度器操作查看事件创建事件删除事件启动与关闭事件 精选示例构造实时数据定时统计数据 总结参考资料 概念 Mysql 事件是一种在特定时间点自动执行的数据库操作&#xff0c;也可以称呼为定时任务&#xff0c;它可以自动执行更新数据、插入数据、删除…

网页在线预览编辑Office,支持doc/docx、xls/xlsx、ppt/pptx、pdf等格式

随着互联网技术的不断发展&#xff0c;越来越多的企业开始采用在线办公模式&#xff0c;微软Office Word 是最好用的文档编辑工具&#xff0c;然而doc、docx、xls、xlsx、ppt、pptx等格式的Office文档是无法直接在浏览器中直接打开的&#xff0c;如果可以实现Web在线预览编辑Of…