Mycat学习记录

简介

Mycat的官网:http://www.mycat.io/

数据库中间件

Mycat 是数据库中间件。
中间件:是一类连接软件组件和应用的计算机软件,以便于软件各部件之间的沟通。
例子:Tomcat,web中间件。
数据库中间件:连接java应用程序和数据库

为什么要用Mycat

  1. Java与数据库紧耦合。
  2. 高访问量高并发对数据库的压力。
  3. 读写请求数据不一致
    在这里插入图片描述

数据库中间件对比

在这里插入图片描述

Mycat的作用

  1. 读写分离
    在这里插入图片描述
    在这里插入图片描述
  2. 数据分片
    垂直拆分(分库)、水平拆分(分表)、垂直+水平拆分(分库分表)
    在这里插入图片描述
  3. 多数据源整合
    在这里插入图片描述

Mycat原理

Mycat 的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的 SQL 语句,首先对 SQL 语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此 SQL 发往后端的真实数据库,并将返回的结果做适当的处理,最终再返回给用户。
这种方式把数据库的分布式从代码中解耦出来,程序员察觉不出来后台使用 Mycat 还是MySQL。
在这里插入图片描述

安装与启动

安装

  1. 解压后即可使用
    解压缩文件拷贝到 linux 下 /usr/local/
  2. 三个配置文件
    schema.xml:定义逻辑库,表、分片节点等内容
    rule.xml:定义分片规则
    server.xml:定义用户以及系统相关变量,如端口等

启动

  1. 修改配置文件server.xml
<!--修改用户信息,与MySQL区分-->
<user name="mycat">
 <property name="password">123456</property>
 <property name="schemas">TESTDB</property>
</user>
  1. 修改配置文件 schema.xml
    删除标签间的表信息,标签只留一个,标签只留一个, 只留一对
<?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 -->
 <readHost host="hostS1" url="192.168.140.127:3306" user="root" 
password="123123" />
 </writeHost>
 </dataHost>
</mycat:schema>
  1. 验证数据库访问情况
    Mycat 作为数据库中间件要和数据库部署在不同机器上,所以要验证远程访问情况。
mysql -uroot -p123123 -h 192.168.140.128 -P 3306
mysql -uroot -p123123 -h 192.168.140.127 -P 3306
#如远程访问报错,请建对应用户
grant all privileges on *.* to root@'缺少的host' identified by '123123';
  1. 启动程序
    ①控制台启动 :去 mycat/bin 目录下执行 ./mycat console
    ②后台启动 :去 mycat/bin 目录下 ./mycat start
    为了能第一时间看到启动日志,方便定位问题,我们选择①控制台启动。

登录

  1. 登录后台管理窗口
    此登录方式用于管理维护 Mycat
mysql -umycat -p123456 -P 9066 -h 192.168.140.128
#常用命令如下:
show database
show @@help
  1. 登录数据窗口
    此登录方式用于通过 Mycat 查询数据,我们选择这种方式访问 Mycat
mysql -umycat -p123456 -P 8066 -h 192.168.140.128
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值