• MyCat使用笔记


    MyCat2使用
    安装

    1. 安装JAVA环境

    sudo apt-get install default-jdk
    

    2. 下载wrapper及jar包

    wget http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.21.zip
    unzip mycat2-install-template-1.21.zip
    cd mycat/lib
    wget http://dl.mycat.org.cn/2.0/1.22-release/mycat2-1.22-release-jar-with-dependencies-2022-4-27.jar
    

    3. 给文件夹写权限

    sudo chmod 777 mycat -Rf #递归修改文件夹权限
    

    因为创建数据库时会在对应的文件夹创建配置文件,所以需要读写权限。同时也会往logs文件夹写日志。

    4. 修改配置文件

    文件名 作用
    e:\mycat\conf\datasources\prototypeDs.datasource.json 配置名称为prototypeDs 的数据源
    e:\mycat\conf\users\root.user.json 配置root的登录用户信息
    e:\mycat\conf\server.json 配置mycat服务器信息
    e:\mycat\conf\simplelogger.properties 配置log级别
    e:\mycat\conf\clusters\prototype.cluster.json 配置名称为prototype的集群

    5. 启动MyCat

    cd mycat/bin
    ./mycat start # 启动后即可去logs文件夹下查看日志,若日志过于简单可以修改mycat\conf\simplelogger.properties 来调整日志级别。输出更多内容。
    

    6. 创建数据库

    使用Navicat或者dbever连接到MyCat(如果连不上,可能是MYSQL 8 密码模式造成的,可以修改密码,具体提示可以查看日志)

    create DATABASE myTestDb; # 创建一个数据库 myTestDb
    use myTestDb;
    -- 分库分表
    CREATE TABLE `test`  (
      `ID` varchar(36)  NOT NULL,
      `Name` varchar(255)  NULL DEFAULT NULL,
      `CreateTime` datetime(0) NULL DEFAULT NULL,
      `Phone` varchar(255)  NULL DEFAULT NULL,
      `Address` varchar(255)  NULL DEFAULT NULL,
      PRIMARY KEY (`ID`) USING BTREE,
    	INDEX `idx`(`Phone`) USING HASH
    ) ENGINE = InnoDB DEFAULT  dbpartition by mod_hash(id) tbpartition by mod_hash(id) tbpartitions 10 dbpartitions 10;
    

    其中 dbpartition by mod_hash(id) tbpartition by mod_hash(id) tbpartitions 10 dbpartitions 10 为分库分表的语句,意思是使用mod_hash(id)来进行分库操作,使用mod_hash(id)来进行分表操作。tbpartitions : 分库的数量。dbpartitions :分表的数量。

    -- 为了测试多表查询,顾在插入了Test表后又新建了Order表
    use myTestDb;
    CREATE TABLE `order`  (
      `ID` varchar(36)  NOT NULL,
      `ProductName` varchar(255)  NULL DEFAULT NULL,
      `CreateTime` datetime(0) NULL DEFAULT NULL,
      `CreateOrderUserId` varchar(255)  NULL DEFAULT NULL,
      PRIMARY KEY (`ID`) USING BTREE,
    	INDEX `idx`(`ProductName`) USING HASH
    ) ENGINE = InnoDB DEFAULT  dbpartition by mod_hash(id) tbpartition by mod_hash(id) tbpartitions 10 dbpartitions 10;
    
    -- 下方的语句为MyCat的命令,MyCat的命令通过类似注释的方式去执行。该命令执行刷新物理表的操作。
    /*+ mycat:repairPhysicalTable{} */
    

    7. 备忘:

    • 不使用MyCat1.6的几点原因:
    Insert操作丢失数据
    不能批量更新(不支持多语句)

  • 相关阅读:
    iOS设计模式之简单工厂模式
    Spring Boot Admin的使用
    使用Maven创建一个Spring MVC Web 项目
    SpringMVC简单项目配置
    web框架之Spring-MVC环境搭建
    搭建Spring4+Spring MVC web工程的最佳实践
    IntelliJ IDEA和Eclipse最常用的快捷键对应表:
    Cleanup failed to process the following paths错误的解决
    idea的修改文件变颜色
    IDEA下搜狗输入法输入中文时卡着不动的参考解决方法
  • 原文地址:https://www.cnblogs.com/harry7988/p/16227446.html
Copyright © 2020-2023  润新知