Mycat的使用浅学习

Mycat是一款数据库中间件,用于解决Java应用程序与数据库的紧耦合、高并发访问压力等问题。它支持读写分离、数据分片、多数据源整合。本文详细介绍了Mycat的安装启动过程,包括配置文件的修改。接着讲解了如何搭建一主一从和双主双从的读写分离模式,以及分库和分表的实现,包括分片规则和全局表的概念。此外,还讨论了Mycat的全局序列功能,用于在分库分表场景下保证主键的全局唯一性。
摘要由CSDN通过智能技术生成

一.基本概念

1.是什么?

Mycat是数据库中间件.

1.数据库中间件

连接Java应用程序和数据库

2.为什么要用?

1.Java与数据库紧耦合

2.高访问量高并发对数据库压力

3.读写请求数据不一致

这些都可以使用MyCat解决

3.干什么的?

1.读写分离

在这里插入图片描述

2.数据分片

垂直拆分(分库),水平拆分(分表),垂直+水平拆分(分库分表)

在这里插入图片描述

3.多数据源整合

在这里插入图片描述

4.原理

Mycat 的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的 SQL 语句,首先对 SQL 语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此 SQL 发 往后端的真实数据库,并将返回的结果做适当的处理,最终再返回给用户。

在这里插入图片描述

这种方式把数据库的分布式从代码中解耦出来.

二.安装启动

1.安装

1.解压后即可使用:解压缩文件拷贝到linux下 /usr/local

2.三个配置文件:

  • schema.xml: 定义逻辑库,表,分片节点等内容
  • rule.xml: 定义分片规则
  • server.xml: 定义用户以及系统相关变量,如端口等.

2.启动

1.修改配置文件server.xml在这里插入图片描述

  • schemas中的TESTDB是mycat对应的逻辑库

2.修改配置文件schema.xml

删除第6行到第32行的一些测试数据库.schema是逻辑数据库.

在这里插入图片描述

  • TESTDB数据默认节点就是dn1

在这里插入图片描述

  • 不需要dn2和dn3删除

  • 心跳检测:测试mysql的正常使用

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
    <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">		     </schema>
	<dataNode name="dn1" dataHost="host1" database="testdb" />
	<dataHost name="host1" maxCon="1000" minCon="10" balance="0"
 			writeType="0" dbType="mysql" dbDriver="native" switchType="1" 			         	slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <!-- can have multi write hosts -->
        <writeHost host="hostM1" url="192.168.140.128:3306" user="root"
            password="123123">
            <!-- can have multi read hosts -->
            
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值