Mycat分库分表读写分离

具体操作参看: https://blog.csdn.net/vbirdbest/article/details/83448757 写得非常好,兄嘚~优秀!!!
下边针对部署过程中出现的问题说一下自己的感受

1. 模拟多数据库节点

方法1
安装虚拟机后,安装多个linux,再安装多个mysql数据库。生产适用,个人操作难度较大

方法2
使用docker安装多个mysq,简单方便适合学习

方法3
在一个mysql中,使用多个数据库来模拟!只为学习,部署环境就越简单越好

2. 配置文件

核心配置文件有3个: rule.xml server.xml schema.xml,主要修改最后一个,看一下我的基本配置:

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/"> <!-- Mycat虚拟数据库 -->
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
<!-- Mycat虚拟表 表名 物理节点 路由规则 -->
<table name="tbl_order" dataNode="dn1,dn2,dn3" rule="mod-long" />
</schema> <!-- 节点 -->
<dataNode name="dn1" dataHost="localhost1" database="db1" />
<dataNode name="dn2" dataHost="localhost1" database="db2" />
<dataNode name="dn3" dataHost="localhost1" database="db3" /> <!-- 节点信息配置 -->
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- 写配置 -->
<writeHost host="hostM1" url="localhost:3306" user="root" password="123456">
<!-- 读配置 -->
<!-- <readHost host="hostS2" url="192.168.1.200:3306" user="root" password="xxx" /> -->
</writeHost>
</dataHost>
</mycat:schema>

说明一下:

rule 指定分片规则,默认auto-sharding-long根据范围进行路由, 比如:

  • 第1-1000条存到dn1节点
  • 第1001-2000条存到dn2节点
  • 第2001~3000条存到dn3节点
    (数据量少的话,看不到效果,一开始用默认的,还以为配错了)

rule="mod-long"根据id路由(id%分片数),比如:

  • 第1条存到是dn1节点
  • 第2条存到是dn2节点
  • 第3条存到是dn3节点
  • 第4条存到是dn1节点
  • 依次类推

Mycat默认端口8066 数据管理端口9066 运行Mycat前,系统要提前安装jdk

Mycat使用--分库分表和读写分离的更多相关文章

  1. 使用ShardingSphere-JDBC完成Mysql的分库分表和读写分离

    1. 概述 老话说的好:选择比努力更重要,如果选错了道路,就很难成功. 言归正传,之前我们聊了使用 MyCat 实现Mysql的分库分表和读写分离,MyCat是服务端的代理,使用MyCat的好处显而易 ...

  2. 阿里P8架构师谈:数据库分库分表、读写分离的原理实现,使用场景

    本文转载自:阿里P8架构师谈:数据库分库分表.读写分离的原理实现,使用场景 为什么要分库分表和读写分离? 类似淘宝网这样的网站,海量数据的存储和访问成为了系统设计的瓶颈问题,日益增长的业务数据,无疑对 ...

  3. Sharding-JDBC基本使用,整合Springboot实现分库分表,读写分离

    结合上一篇docker部署的mysql主从, 本篇主要讲解SpringBoot项目结合Sharding-JDBC如何实现分库分表.读写分离. 一.Sharding-JDBC介绍 1.这里引用官网上的介 ...

  4. ShardingSphere-proxy-5.0.0企业级分库分表、读写分离、负载均衡、雪花算法、取模算法整合(八)

    一.简要说明 以下配置实现了: 1.分库分表 2.每一个分库的读写分离 3.读库负载均衡算法 4.雪花算法,生成唯一id 5.字段取模 二.配置项 # # Licensed to the Apache ...

  5. 分库分表、读写分离——用Sql和ORM(EF)来实现

    分库:将海量数据分成多个库保存,比如:2017年的订单库——Order2017,2018年的订单库——Order2018... 分表:水平分表(Order拆成Order1.....12).垂直分表(O ...

  6. 基于ShardingJDBC的分库分表及读写分离整理

    ShardingJDBC的核心流程主要分成六个步骤,分别是:SQL解析->SQL优化->SQL路由->SQL改写->SQL执行->结果归并,流程图如下: sharding ...

  7. Windows环境下使用Mycat模拟分库分表-读写分离案例

    一.基本环境 W7 64位.Mycat1.6.MySQL8.0 二.Mycat核心配置文件配置 解压Mycat1.6,并对server.xml.schema.xml.rule.xml三个核心配置文件做 ...

  8. Linux 配置 mycat 和 分库分表配置。

    Linux 如何配置mycat? 3.配置mycat 3.1.规定linux的用户名和全名不能叫mycat!!!否则mycat会不生效(原因是影响整个linux系统的环境变量导致mycat的配置环境变 ...

  9. Mycat配置分库分表(垂直分库、水平分表)、全局序列

    1. Mycat相关文章   Linux安装Mycat1.6.7.4并实现Mysql数据库读写分离简单配置   Linux安装Mysql8.0.20并配置主从复制(一主一从,双主双从)   Docke ...

随机推荐

  1. ArrayMap和HashMap区别

    什么是Map? Map的三个特点 1.包含键值对 2.键唯一 3.键对应的值唯一 一:hash 什么是Hash Hash,也可以称为“散列”,就是把任意长度的输入,通过散列算法,变换成固定长度的输出, ...

  2. Kali填坑

    Kali填坑 由于种种原因,又又又又又安了一遍虚拟机,增强功能时又又又遇到很多问题,在这里总结一下 使用apt-get install安装文件时,资源占用.描述为:E: 无法获得锁 /var/lib/ ...

  3. [Beta阶段]第四次Scrum Meeting

    Scrum Meeting博客目录 [Beta阶段]第四次Scrum Meeting 基本信息 名称 时间 地点 时长 第四次Scrum Meeting 19/05/06 大运村寝室6楼 30min ...

  4. Behavior Trees for Path Planning (Autonomous Driving)

    Behavior Trees for Path Planning (Autonomous Driving) 2019-11-13 08:16:52 Path planning in self-driv ...

  5. centos7没有ifconfig命令解决办法

    输入ifconfig 提示不存在   首先确认下是否是环境变量没有ifconfig 引起. ls /sbin/ifconfig   以上确定了系统是没有安装ifconfig,下面我们来安装 yum i ...

  6. 在网址前加神秘字母,让你打开新世界(z)

    在网址前加神秘字母,让你打开新世界 1.在百度云后面加“wp”可以高速下载百度云资源<ignore_js_op> 2.在任何网址前面加“wn.run”(一定要加到这个网址www的前面)之后 ...

  7. Archer代码生成器前端

    import {getList, getDetail, add, update, remove} from "@/api/sales/sales"; import {getList ...

  8. Linux磁盘空间查看、磁盘被未知资源耗尽

    Linux系统中,当我们使用rm在Linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄, 那么Linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%, ...

  9. java jdbc使用SSH隧道连接mysql数据库demo

    java jdbc使用SSH隧道连接mysql数据库demo   本文链接:https://blog.csdn.net/earbao/article/details/50216999   packag ...

  10. F# 4.6 预览版正式公布

    1月24日,F# 4.6 预览版正式公布,与以往一样,新版本的设计与开发过程是整个 F# 开源社区共同努力的结果,这次更新的具体讨论内容可以通过下面两个链接来查看: F# 4.6 意见征求记录 FSh ...