赞
踩
下载模板
下载jdk包
下载好后吧jdk包房到mycat的lib目录下
配置结构
- mycat配置文件夹
- + clusters
- - prototype.cluster.json //无集群的时候自动创建
- - c0.cluster.json
- - c1.cluster.json
- + datasources
- - prototypeDs.datasource.json //无数据源的时候自动创建
- - dr0.datasource.json
- - dw0.datasource.json
- + schemas
- - db1.schema.json
- - mysql.schema.json
- + sequences
- - db1_schema.sequence.json
- -server.json //服务器配置
- -state.json //mycat运行状态,包含集群选举的主节点信息,配置时间戳
访问端口
配置mycat登录账号密码
数据库配置mysql.schema.json,schemaName的值在scemas文件夹中必须是唯一的,如果有重复,启动会报错,这个修改这个数据库名称就可以启动
进入目录mycat/bin
mycat instal 安装
mycat start 启动
mycat stop 停止
运行后就可以去连接了
不需要在配置文件,直接创建表,为什么能自动,主要这一点
tbpartitions一个库放几个分片,dbpartitions创建多少个库
dbpartition by mod_hash(id) tbpartition by mod_hash(id) tbpartitions 3 dbpartitions 3;
- CREATE TABLE `dade66` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `user` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
- PRIMARY KEY (`id`),
- KEY `id` (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 dbpartition by mod_hash(id) tbpartition by mod_hash(id) tbpartitions 2 dbpartitions 2;
-
-
- insert into dade66 values(1,'大得1');
- insert into dade66 values(2,'大得2');
- insert into dade66 values(3,'大得3');
- insert into dade66 values(4,'大得4');
- insert into dade66 values(5,'大得5');
-
-
-
-
- CREATE TABLE `dade66` (
- `id` bigint NOT NULL AUTO_INCREMENT,
- `user` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
- PRIMARY KEY (`id`),
- KEY `id` (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 dbpartition by mod_hash(id) tbpartition by mod_hash(id) tbpartitions 2 dbpartitions 2;
- 单创建表(只会把SQL转发对应节点)
- CREATE TABLE IF NOT EXISTS `user2` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `user` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARSET = utf8 COLLATE = utf8_unicode_ci;
- 创建全局表(把sql往配置的(多个)dataNode下发)
- CREATE TABLE IF NOT EXISTS `user3` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `user` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci BROADCAST;
导入模板的dbseq.sql文件到主数据库,不要在mycat2的连接窗口导入
测试·
1、建库建表
- CREATE TABLE `dade88` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `user` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
- PRIMARY KEY (`id`),
- KEY `id` (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 dbpartition by mod_hash(id) tbpartition by mod_hash(id) tbpartitions 2 dbpartitions 2;
2、执行自增(在sql窗口执行,会自动配置到文件),dade是数据库名_dade88表名,命名方式 (数据库名_表名)
- /*+ mycat:setSequence{
- "name":"dade_dade88",
- "clazz":"io.mycat.plug.sequence.SequenceMySQLGenerator",
- "name":"dade_dade88",
- "targetName": "prototype",
- "schemaName":"dade"
- } */;
3、配置mycat_sequence
插入测试
- id写入0,不写报错空,写0就是会自增
- insert into dade88 values(0,'大得22');
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。