MyCat简介与安装

1.概述

1.1.是什么

Mycat是数据库中间件。

1.1.1.MyCat由来

Cobar属于阿里B2B事业群,始于2008年,在阿里服役3年多,接管3000+个MySQL数据库的schema,集群日处理在线SQL请求50亿次以上。由于Cobar发起人的离职,Cobar停止维护。
Mycat是开源社区在阿里cobar基础上进行二次开发,解决了cobar存在的问题,并且加入了许多新的功能在其中。

1.1.2.Mycat的官网

http://www.mycat.io/

1.2.作用

1.2.1.读写分离

在这里插入图片描述

1.2.2.数据分片

垂直拆分(分库)、水平拆分(分表)、垂直+水平拆分(分库分表)
在这里插入图片描述

1.2.3.多数据源整合

在这里插入图片描述

1.3.原理

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

在这里插入图片描述
这种方式把数据库的分布式从代码中解耦出来,程序员察觉不出来后台使用Mycat还是MySQL。

2. 安装启动

2.1.安装

2.1.1.解压后即可使用

链接:https://pan.baidu.com/s/1DFBtcVmUg5hd1aH-OJcCEQ 
提取码:1111 
--来自百度网盘超级会员V2的分享

在这里插入图片描述
解压缩文件拷贝到linux下 /usr/local/

2.1.2.三个配置文件

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

2.2.配置

2.2.1.修改配置文件server.xml

在这里插入图片描述

2.2.2.修改配置文件schema.xml

删除<schema>标签间的表信息,
<dataNode>标签只留一个,
<dataHost>标签只留一个,
<writeHost><readHost>只留一对
<?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="mytestdb" />
        <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.200.166:3306" user="root" password="root">
                        <!-- can have multi read hosts -->
                        <readHost host="hostS1" url="192.168.200.168:3306" user="root" password="root" />
                </writeHost>
        </dataHost>
</mycat:schema>

2.2.3.验证数据库访问情况

启动mycat:

./mycat console

jvm 1 | MyCAT Server startup successfully. see logs in logs/mycat.log 表示启动成功!
Mycat作为数据库中间件要和数据库部署在不同机器上,所以要验证远程访问情况。
注意:要关闭防火墙!

mysql -uroot -proot -h 192.168.200.168 -P 3306
mysql -uroot -proot -h 192.168.200.166 -P 3306

2.2.4.启动程序

①控制台启动 :去mycat/bin 目录下执行 ./mycat console ②后台启动 :去mycat/bin 目录下 ./mycat
start 为了能第一时间看到启动日志,方便定位问题,我们选择①控制台启动。

2.3.登录

2.3.1.登录后台管理窗口

此登录方式用于管理维护Mycat

mysql -umycat -p123456 -P 9066 -h 192.168.200.168

#常用命令如下:

show database

在这里插入图片描述
Show @@help 查看帮助命令

2.3.2.登录数据窗口

此登录方式用于通过Mycat查询数据,我们选择这种方式访问Mycat

mysql -umycat -p123456 -P 8066 -h 192.168.200.168
show databases;
use TESTDB;
show tables;
select * from mytbl;#查询的哪个库?{应该是主机}
修改从机的数据,再次查询!
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值