mysql 逻辑库 逻辑表,MyCat实现数据库分表

1.环境准备

本机环境是三台centos6.5

IP

主机名

数据库名

安装软件

192.168.221.131

bruce1

mycat

192.168.221.132

bruce2

db1

mysql

192.168.221.133

bruce3

db2

mysql

192.168.221.134

bruce4

db3

mysql

2.上传并解压MyCat

MyCat是Java语言开发的,只需要上传解压即可!MyCat的使用关键在于其配置

3.逻辑库与逻辑表

Mycat抽象多个myql实例,对外提供唯一的访问数据源

server.xml

8a2c4a707691813a89d376e439abedef.png

配置示例:

druidparser

123456

mycat

MyCat的分片规则

rule.xml

0d372afcd27d8d8e9baf0f7c423b66c9.png

MyCat的分片配置

1b09113b7c7851c765f056a2f14d762b.png

Schema.xml

95ce6de9ca41158273de28f3e4ef2110.png

配置示例:

rule="sharding-by-intfile" />

writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">

select user()

writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">

select user()

writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">

select user()

修改conf下的partition-hash-int.txt文件  在下面添加10020=2,原本默认的是分两个就是10000和10010,现在我们三个就要三个分类id了,添加一个即可

c9ea309e952205ca9e611dc4b7ed1517.png

在bruce2中创建数据库db1

在bruce3中创建数据库db2

在bruce4中创建数据库db3

启动mycat

执行mycat start

178a61dc299696b880a949c407e8ac36.png

tail -100  $MYCAT_HOME/logs/wrapper.log查看结果如下就表明启动成功了

7b5a65c002ea78f7d72608b59840bb47.png

测试mysql表横向分割

在虚拟机外的windows安装Navicat for MySQL,分别连接到三个mysql数据库,执行建表语句create table employee (id int not null primary key,name varchar(100),sharding_id int not null);

使用客户端连接mycat

2ae9c73809dbc320abbe46734b4a8ffc.png

97d3e12d34caedfb4dc5bae3d3fed108.png

因为刚才执行了建表语句,这时候连接上了mycat里面也有一个空的employee表

执行如下语句

insert into employee(id,name,sharding_id) values(1, 'I am db1',10000);

insert into employee(id,name,sharding_id) values(2, 'I am db2',10010);

insert into employee(id,name,sharding_id) values(3, 'I am db3',10020);

insert into employee(id,name,sharding_id) values(4, 'I am db1',10000);

insert into employee(id,name,sharding_id) values(5, 'I am db2',10010);

insert into employee(id,name,sharding_id) values(6, 'I am db3',10020);

查询数据情况:46af8e82ed0c67c47c7ca419997be90f.png

db1

df0a5540399230e776620257397e9173.png

db2

db3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值