一,什么是cobar:
cobar是提供关系型数据库(MYSQL)分布式服务的中间件,它可以让传统的数据库得到良好的线性扩展,并看上去还是一个数据库,对应用保持透明。
二,为什么要用cobar:
当数据不断上升,单库里面的表记录不断增加的时候,查询和索引的更变就会变得异常的缓慢,这时候我们会想到分库和分表(水平拆分和竖直拆分),cobar这个中间件就是专门用来分库和分表的。
当然新生儿mycat也是一种选择。在mycat和cobar之间,我还是要推荐cobar,因为稳定。毕竟cobar在阿里稳定运行3年以上;接管了3000+个mysql数据库的schema;集群日处理在线sql请求50亿以上;集群日处理在线数据量TB级别以上。
三,安装cobar
在安装cobar前先要安装好jdk,因为cobar是基于java的中间件;安装好mysql数据库,因为我们要测试mysql的分库分表功能
cobar的安装非常简单,解压即可。我从官网下载的最新安装包cobar-server-1.2.7.tar.gz,解压到/usr/local下,并更名为cobar
ls /usr/local/cobar
bin
conf lib logs
原来是没有logs文件夹,是需要自己手动建上去的(注:版本不一样,有的自动包含logs文件夹);
ls /usr/local/cobar/bin/
restart.sh
shutdown.sh startup.bat startup.sh
启动和关闭脚本是startup.sh和shutdown.sh
四,数据的准备:
进入mysql,创建一个root@172.16.88.131账号让cobar访问:
mysql> grant all privileges on *.* to
root@172.16.88.131 identified
by '123456';
创建数据库:dbtest1,dbtest2,dbtest3,表:tb1,tb2如下:
create
database dbtest1;
use dbtest1;
create table tb1(id int
not null, gmt datetime);
create
database dbtest2;
use dbtest2;
create table tb2(id int
not null, val varchar(256));
create
database dbtest3;
use
dbtest3;
create table tb2(id int not null, val
varchar(256));
五,配置cobar:
ls /usr/local/cobar/conf/
log4j.xml
rule.xml schema.xml server.xml
先看一下schema.xml的配置:
cat
schema.xml