mycat分库初体验

港控/mmm° 2022-09-30 06:47 330阅读 0赞

我们先来做mysql的准备工作,假装一张大表分成了3张表。

一:创建3个数据库db1、db2、db3。

二:在三个分片里分别创建travelrecord表

  1. use db1;
  2. create table travelrecord(
  3. id varchar(64) not null,
  4. name varchar(5) not null,
  5. phone bigint(11)
  6. );
  7. ENGINE=InnoDB DEFAULT CHARSET=utf8;
  8. use db2;
  9. create table travelrecord(
  10. id varchar(64) not null,
  11. name varchar(5) not null,
  12. phone bigint(11)
  13. );
  14. ENGINE=InnoDB DEFAULT CHARSET=utf8;
  15. use db3;
  16. create table travelrecord(
  17. id varchar(64) not null,
  18. name varchar(5) not null,
  19. phone bigint(11)
  20. );
  21. ENGINE=InnoDB DEFAULT CHARSET=utf8;

三:在三个分片里分别插入几条记录

  1. use db1;
  2. insert into trabelrecord
  3. values("12345","张三封",15723456789);
  4. insert into trabelrecord
  5. values("12356","张无忌",15823456780);
  6. insert into trabelrecord
  7. values("12367","张飞",15623456780);
  8. use db2;
  9. insert into trabelrecord
  10. values("22345","李隆基",13523456780);
  11. insert into trabelrecord
  12. values("23456","李白",13623456781);
  13. insert into trabelrecord
  14. values("24567","李煜",13723456782);
  15. use db3;
  16. insert into trabelrecord
  17. values("32345","王翦",18023456780);
  18. insert into trabelrecord
  19. values("33456","王勃",18123456781);
  20. insert into trabelrecord
  21. values("34567","王维",18223456782);

mysql的准备工作暂告一段落。接下来部署mycat。

四:下载mycat1.6版本

下载地址:

https://github.com/MyCATApache/Mycat-download/blob/master/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-win.tar.gz

五:解压并配置

解压完成后在schema.xml里配置节点及数据库连接

  1. <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
  2. <!-- auto sharding by id (long) -->
  3. <table name="travelrecord" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
  4. </schema>
  5. <dataNode name="dn1" dataHost="localhost1" database="db1" />
  6. <dataNode name="dn2" dataHost="localhost1" database="db2" />
  7. <dataNode name="dn3" dataHost="localhost1" database="db3" />
  8. <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
  9. writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
  10. <heartbeat>select user()</heartbeat>
  11. <writeHost host="hostM1" url="localhost:3306" user="root"
  12. password="">
  13. </writeHost>
  14. </dataHost>

六:启动mycat

点击startup_nowrap.bat,没有一闪而过,则启动成功。

Ok,mycat也部署OK了,接下来可以测试了。

我们在mysql workbench里连接mycat进去查询下分布在3个分片上的travelrecord表中的数据

Center

Center 1

Ok,分布在3个分片中的数据汇聚在一起了。

发表评论

表情:
评论列表 (有 0 条评论,330人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Mycat分库

    项目中存在多个数据库,每个数据库中有很多张表,可以通过mycat指定查询该表的时候去那个库中查询,这样减少了代码的大量书写和配置。 1.增加customer表 该表在m

    相关 mycat分库体验

    我们先来做mysql的准备工作,假装一张大表分成了3张表。 一:创建3个数据库db1、db2、db3。 二:在三个分片里分别创建travelrecord表

    相关 快速体验MyCAT

            横空出世的MyCat截至到2015年4月,保守估计已经有超过60个项目在使用,主要应用在电信领域、互联网项目,大部分是交易和管理系统,少量是信息系统。比较大的系

    相关 Mycat分库分表

    首先,准备四台主机,搭建mycat分片服务器,通过某种特定条件,将存放在一个数据库(主机)中的数据,分散存放到多个数据库(主机)中,已达到分散单台设备负载的效果。其中192.1