MyCat入门使用

本文详细介绍Mycat数据库中间件的下载、安装及配置过程,包括环境搭建、启动命令、命令行接入、分库分表原理及监控设置。通过实例演示如何创建数据库表、使用auto-sharding-long规则实现数据的自动分片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载MyCat,并解压安装,过程忽略。这里使用的版本为1.6.6.1 -linux版本

wget http://dl.mycat.io/1.6.6.1/Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz

前提:

  1. jdk>1.7
  2. mysql 环境(建议5.6以上)

启动:

首先要启动mysql:

service mysqld start

在启动mycat,命令如下:

./(yourinstallpath)/bin/mycat start //开启命令
./(yourinstallpath)/bin/mycat stop //结束命令

进入mycat命令行的命令:

mysql -uroot -p123456 -h127.0.0.1 -P8066 -DTESTDB

注意:其中8066是mycat的监听端口,类似于mysql的3306端口,其中-u,-p,-h分别是用户名,密码和主机,-D是连接的逻辑库。这些都定义在~/conf/server.xml 里面,稍后详解。有时候你可能用这个命令进不去mycat,先查看mycat是否启动成功(pa -ef|grep mycat),还有就是开启mycat白名单firewall-whitehost,允许127*地址段访问。

mycat默认有一个TESTDB数据库,其中有一张表travelrecord使用了auto-sharding-long(根据id范围进行分裤分表),

首先在mysql中创建三个数据库表db1,db2,db3,然后分别创建travelrecord表。

create table travelrecord (id bigint not null primary key,user_id varchar(100),traveldate DATE, fee decimal,days int);

回到mycat中,使用explain关键字,就一目了然了。

explain create table travelrecord (id bigint not null primary key,user_id varchar(100),traveldate DATE, fee decimal,days int);

显示如下:分别向三个数据库插入了数据。是不是一目了然啊 

 至此,mycat的使用就到此结束了,更多分裤分表规则等待你的发现。

但是。

conf目录下以下三个需要熟悉。

server.xml是Mycat服务器参数调整和用户授权的配置文件

schema.xml是逻辑库定义和表以及分片定义的配置文件

rule.xml是分片规则的配置文件

以之前的travelrecord表的auto-sharding-long规则为例讲解:

schema.xml

很明显 使用了 auto-sharding-long,数据库节点为dn1,dn2,dn3.

auto-sharding-long的定义在文件中:rule.xml

过滤字段为id,过滤方法为rang-long,

最终定义的txt文件为autopartition-long.txt,

在conf下找到 :

官方详解地址:https://github.com/MyCATApache/Mycat-Server/wiki/5.0-%E9%80%BB%E8%BE%91%E5%BA%93%E3%80%81%E8%A1%A8%E5%88%86%E7%89%87%E9%85%8D%E7%BD%AE(schema.xml)

 

番外篇:

mycat官网提供了mycat监视

官网README文件已经很详细了,不做介绍了:https://github.com/MyCATApache/Mycat-mini-monitor

注意:

你可能先要把 ips修改为自己的内网地址(ifconfig)

也不知道是不是我自己的问题,我外网怎么都访问不了,直到我在内网使用 

curl -get http://127.0.0.1:8080/view/jmx_metrics

之后,外网才访问通。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值