• ADADADADAD

    数据库中间件 MyCAT 源码分析 —— 调试环境搭建[ mysql数据库 ]

    mysql数据库 时间:2024-12-25 09:57:26

    作者:文/会员上传

    简介:

    关注**微信公众号:【芋艿的后端小屋】**有福利:RocketMQ / MyCAT / Sharding-JDBC所有源码分析文章列表RocketMQ / MyCAT / Sharding-JDBC中文注释源码 GitHub 地址您对于源码

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    关注**微信公众号:【芋艿的后端小屋】**有福利:

    RocketMQ / MyCAT / Sharding-JDBC所有源码分析文章列表

    RocketMQ / MyCAT / Sharding-JDBC中文注释源码 GitHub 地址

    您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。

    新的源码解析文章实时收到通知。每周更新一篇左右。


    1. 依赖工具

    2. 源码拉取

    3. 数据库配置

    4. MyCat 配置

    5. MyCAT 启动

    6. MyCAT 测试

    7. 交流

    1. 依赖工具

    Maven

    Git

    JDK

    MySQL

    IntelliJ IDEA

    2. 源码拉取

    从官方仓库https://github.com/MyCATApache/Mycat-ServerFork出属于自己的仓库。为什么要Fork?既然开始阅读、调试源码,我们可能会写一些注释,有了自己的仓库,可以进行自由的提交。

    使用IntelliJ IDEAFork出来的仓库拉取代码。拉取完成后,Maven会下载依赖包,可能会花费一些时间,耐心等待下。

    3. 数据库配置

    我们要搭建的是非分片表的调试环境,需要创建一个数据库和表:

    创建数据库:db01

    创建数据库表:travelrecord


    CREATETABLE`travelrecord`(`id`bigint(20)NOTNULLAUTO_INCREMENT,`name`varchar(255)CHARACTERSETlatin1DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARSET=utf8COLLATE=utf8_bin


    4. MyCAT 配置

    为了避免对实现源码产生影响,我们选择对test目录做变更。

    1、在resources目录下新建文件夹backups,将原resources下的所有文件移到backups下,这样我们的环境就干干净了。
    2、在resources目录下新建schema.xml文件,配置MyCAT的逻辑库、表、数据节点、数据源。


    <?xmlversion="1.0"?><!DOCTYPEmycat:schemaSYSTEM"schema.dtd"><mycat:schemaxmlns:mycat="http://io.mycat/"><schemaname="dbtest"checkSQLschema="true"sqlMaxLimit="100"><tablename="travelrecord"dataNode="dn1"autoIncrement="true"primaryKey="id"/></schema><dataNodename="dn1"dataHost="localhost1"database="db1"/><dataHostname="localhost1"maxCon="1000"minCon="10"balance="0"writeType="0"dbType="mysql"dbDriver="native"switchType="1"slaveThreshold="100"><heartbeat>selectuser()</heartbeat><writeHosthost="hostM1"url="127.0.0.1:33061"user="root"password="123456"><!--url、user、password设置成你的数据库--></writeHost></dataHost></mycat:schema>


    3、在resources目录下新建server.xml文件,配置MyCAT系统配置。


    <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmycat:serverSYSTEM"server.dtd"><mycat:serverxmlns:mycat="http://io.mycat/"><system><propertyname="nonePasswordLogin">0</property><!--0为需要密码登陆、1为不需要密码登陆,默认为0,设置为1则需要指定默认账户--><propertyname="useHandshakeV10">1</property><propertyname="useSqlStat">0</property><!--1为开启实时统计、0为关闭--><propertyname="useGlobleTableCheck">0</property><!--1为开启全加班一致性检测、0为关闭--><propertyname="sequnceHandlerType">2</property><propertyname="processorBufferPoolType">0</property><propertyname="handleDistributedTransactions">0</property><propertyname="useOffHeapForMerge">1</property><propertyname="memoryPageSize">64k</property><propertyname="spillsFileBufferSize">1k</property><propertyname="useStreamOutput">0</property><propertyname="systemReserveMemorySize">384m</property><propertyname="useZKSwitch">false</property></system><username="root"defaultAccount="true"><propertyname="password">123456</property><propertyname="schemas">dbtest</property></user></mycat:server>


    5. MyCAT 启动

    1、在java目录下新建debugger包,和原先已存在的包做区分。
    2、在debbuger包下新建MycatStartupTest.java


    packagedebugger;importio.mycat.MycatStartup;/***{@linkio.mycat.MycatStartup}测试**Createdbyyunaion2017/5/22.*/publicclassMycatStartupTest{publicstaticvoidmain(String[]args){MycatStartup.main(args);}}


    3、运行MycatStartupTest.java,当看到输出日志MyCAT Server startup successfully. see logs in logs/mycat.log即为启动成功。

    截止目前,test目录如下:

    6. MyCAT 测试

    调试环境已经搭建完成,我们看看是否正确。

    使用MySQL客户端连接MyCAT

    HOST :127.0.0.1

    PORT :8066

    USERNAME :root

    PASSWORD :123456


    mysql>insertintotravelrecord(name)values('haha');QueryOK,1rowsaffected(0.01sec)mysql>select*fromtravelrecord;+--------------------+------+|id|name|+--------------------+------+|866707181398003712|haha|+--------------------+------+1rowsinset(0.05sec)


    成功。

    7. 交流

    感谢阅读、收藏、关注。
    知其然知其所以然。学习 MyCAT 会是一段很愉快的旅程。如果有你的交流,相信会更加愉快。欢迎添加微信:wangwenbin-server进行探讨。

    数据库中间件 MyCAT 源码分析 —— 调试环境搭建.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: Javamysqlmycat