1. 安装JAVA环境 1 sudo apt-get install default-jdk
2. 下载wrapper及jar包 1 2 3 4 wget http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.21.zip unzip mycat2-install-template-1.21.zipcd 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. 给文件夹写权限 1 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 1 2 cd mycat/bin ./mycat start
6. 创建数据库 使用Navicat或者dbever连接到MyCat(如果连不上,可能是MYSQL 8 密码模式造成的,可以修改密码,具体提示可以查看日志)
1 2 3 4 5 6 7 8 9 10 11 12 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 :分表的数量。
1 2 3 4 5 6 7 8 9 10 11 12 13 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 ;
7. 备忘: • 不使用MyCat1.6的几点原因: • Insert操作丢失数据 • 不能批量更新(不支持多语句)