暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MyCAT2和1.6是两个产品

596
昨天在我们的MySQL社群中,有朋友看到课程目录。提出,MyCAT是个大坑,没必要讲了。
确实,MyCAT1.x没必要去看去学了。

MyCAT1.x曾经辉煌过,一度“遥遥领先”其他分库分表中间件。

但是一直存在的一些问题也让他跌落神坛,比如:

  • 配置繁琐;

  • 平替产品多,DBLE、ShardingSphere等等;

  • 项目长时间不维护。


很多DBA慢慢就放弃这个产品了,我也是其中一员。

但是,转折来了,2021年,MyCAT推出了2.0,可以说差别就好比Python2和Python3,和MyCAT1.x完全是两个产品。

1.x和2功能对比可以查看官方文档:
https://www.yuque.com/ccazhw/ml3nkf/vm9gru

之前1.x分库分表需要挨个改配置文件,现在直接可以通过命令实现。

比如创建用户
直接在MyCAT2中执行命令,就可以创建用户
    /*+ mycat:createUser{
    "username":"test_user",
    "password":"IjdagaT13",
    "ip":"127.0.0.1",
    "transactionType":"xa"
    } */;
    而MyCAT1.x需要我们去手动修改配置文件。

    当然,2.0配置文件还是有的,只是执行完命令就会自动更新配置文件。

    2.0如果非要去通过改配置文件的方式增加用户,也不是不可以。

    比如要创建一张分片表

    首先通过命令配置后端数据源
      /*+ mycat:createDataSource{
      "name":"martin_w0",
      "url":"jdbc:mysql://192.168.12.161:3306/?useSSL=false&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true",
      "user":"mycat_rw",
      "password":"Ud9_a8Gca1"
      } */;
      ......这里省略了其他数据源的配置

      再配置集群
        /*! mycat:createCluster{"name":"c0","masters":["martin_w0"],"replicas":["martin_r0"]} */;
        /*! mycat:createCluster{"name":"c1","masters":["martin_w1"],"replicas":["martin_r1"]} */;

        创建逻辑库
          create database sharding_martin;

          创建分片表
            CREATE TABLE `hash_t1` (
            `id` bigint NOT NULL AUTO_INCREMENT primary key,
            name varchar(20),
            age int
            ) ENGINE=InnoDB
            DBPARTITION BY MOD_HASH(id) DBPARTITIONS 1 TBPARTITION BY MOD_HASH(id) TBPARTITIONS 2;
            其中
            • DBPARTITION,数据库的分片规则;
            • DBPARTITIONS,数据库分片的数量;
            • TBPARTITION,表的分片规则;
            • TBPARTITIONS,表分片的数量;
            • MOD_HASH(id),表示采用对id哈希取模的算法。

            一张分片表就创建完成了。

            并且后面,如果后端数据源不变,只要在建表的时候加上分片信息就行。

            当然其他很多操作,都可以通过命令处理,比如配置读写分离、全局表、ER表等等。

            这个在课程里有详细介绍。


            关注公众号

            MySQL免费课,获取4小时主从复制的免费课程;

            回复”社群”,加入MySQL交流群。

            文章转载自MySQL数据库联盟,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论