mycat教程(二) —— mycat使用教程及分片方法案例
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,在完成mycat安装后, 开始一个示例来尽快熟悉mycat一、环境说明1. 服务器说明服务器名称地址说明mycat服务器10.211.55.13mycat中间件服务器mysql服务器10.211.55
千家信息网最后更新 2026年11月01日mycat教程(二) —— mycat使用教程及分片方法案例
在完成mycat安装后, 开始一个示例来尽快熟悉mycat
一、环境说明
1. 服务器说明
| 服务器名称 | 地址 | 说明 |
|---|---|---|
| mycat服务器 | 10.211.55.13 | mycat中间件服务器 |
| mysql服务器 | 10.211.55.9 | mysql服务器 |
2. mysql 库和表说明
| 库名称 | 说明 |
|---|---|
| db01 | 只有一个user表 |
| db02 | item表 |
| db03 | item表 |
db02,db03上的item表根据id%2取模保存数据, 也就是进行了数据分片
db01 创建表语句
CREATE TABLE `users` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) NOT NULL DEFAULT '',`indate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8- db02,db03 创建表语句
CREATE TABLE `item` (`id` int(11) NOT NULL AUTO_INCREMENT,`value` int(11) NOT NULL DEFAULT '0',`indate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8
3. mycat服务器说明
mycat目录: /usr/local/mycat
至此, 我们的环境就配置好了
二、配置mycat服务
1. server.xml配置
路径在 /usr/local/mycat/conf/server.xml
0 0 1 0 8066 9066 300000 0.0.0.0 4096 32 0 1 1m 1k 0 384m true 123456 TESTDB user TESTDB true 2. 配置rule.xml
路径在: /usr/local/mycat/conf/rule.xmlfunction必须在tableRule的下面, 否则会报错找不到
id mod-long 2 160 3. 配置schema.xml
路径在: /usr/local/mycat/conf/schema.xml
声明也必须按照顺序, 最不需要调用的, 放在最后。
select user() 4. 启动mycat
> cd /usr/local/mycat/bin> ./mycat start如果发生错误可以查看/usr/local/mycat/logs/wrapper.log日志
三、验证
1. 验证user表的查询写入
账号和密码都是server.xml声明的
> /usr/local/mysql/bin/mysql -h20.211.55.13 -uroot -P8066 -p1234562. 查看库
mysql> show databases;+----------+| DATABASE |+----------+| TESTDB |+----------+1 row in set (0.00 sec)发现有TESTDB库
3. 查看表
mysql> use TESTDB;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> show tables;+------------------+| Tables in TESTDB |+------------------+| item || users |+------------------+2 rows in set (0.00 sec)看到了item和users表, 这就是我们在schema.xml中声明的逻辑表, 实际对应的是mysql服务器上的表
4. 验证user的写入
mysql> insert into users (`id`, `name`, `indate`)values(1, 'test_name', '2017-01-01');Query OK, 1 row affected (0.08 sec)mysql>去实际的users表中看, 数据也存在。
5. 验证查询
mysql> select * from users;+----+-----------+---------------------+| id | name | indate |+----+-----------+---------------------+| 1 | test_name | 2017-01-01 00:00:00 |+----+-----------+---------------------+1 row in set (0.06 sec)也可以查到, 说明执行成功了
2. 验证item表
1. 验证写入
因为id分布式的话,id无法自增判断, 所以必须指定id, 否则提示错误。这个在稍后会介绍如何解决
mysql> insert into item(`id`, `value`, `indate`)values(1, 1, '2017-01-01');Query OK, 1 row affected (0.01 sec)查看实际的库, 发现写在了db03库中,
再写入一条
mysql> insert into item(`id`, `value`, `indate`)values(2, 2, '2017-01-01');Query OK, 1 row affected (0.01 sec)发现写在了db02库中, 所以分片的方式也成功了
2. 验证查询
+----+-------+---------------------+| id | value | indate |+----+-------+---------------------+| 2 | 2 | 2017-01-01 00:00:00 || 1 | 1 | 2017-01-01 00:00:00 |+----+-------+---------------------+2 rows in set (0.03 sec)也有了两条记录
欢迎访问我的博客
服务
服务器
验证
配置
实际
数据
路径
查询
成功
名称
环境
语句
错误
教程
中看
中间件
也就是
分布式
博客
只有
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网金融科技
亿人帮互联网科技有限公司
互联网科技行业发展
互联网科技有限公司图片
互联网科技未来
北京互联网科技有限公司
万易互联网科技
安徽鑫晟辉互联网科技
贷财互联网科技
北京互联网络科技有限公司
腾讯科技 互联网女皇
融势互联网科技
互联网科技创新企业排名
博兴的互联网电子科技公司
茂名市互联网科技产业园
中国科技创新与世界互联网大会
福建互联网展示科技馆设计
恒生科技指数 中概互联网
青岛易易互联网科技
宁波允成互联网科技有限公司
中资互联网科技
深圳科技互联网
美国互联网黑科技
新浪科技互联网
工业互联网等科技实现智能化赋能
科技大学互联网
互联网科技数字货币
本届互联网大会上的黑科技
互联网与数字科技关系
北京互联网科技类企业分布