12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
ADADADADAD
mysql数据库 时间:2024-12-25 09:57:26
作者:文/会员上传
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
关注**微信公众号:【芋艿的后端小屋】**有福利: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. 交流
Maven
Git
JDK
MySQL
IntelliJ IDEA
从官方仓库https://github.com/MyCATApache/Mycat-ServerFork
出属于自己的仓库。为什么要Fork
?既然开始阅读、调试源码,我们可能会写一些注释,有了自己的仓库,可以进行自由的提交。
使用IntelliJ IDEA
从Fork
出来的仓库拉取代码。拉取完成后,Maven
会下载依赖包,可能会花费一些时间,耐心等待下。
我们要搭建的是非分片表的调试环境,需要创建一个数据库和表:
创建数据库:db01
。
创建数据库表:travelrecord
。
CREATETABLE`travelrecord`(`id`bigint(20)NOTNULLAUTO_INCREMENT,`name`varchar(255)CHARACTERSETlatin1DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARSET=utf8COLLATE=utf8_bin
为了避免对实现源码产生影响,我们选择对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>
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
目录如下:
调试环境已经搭建完成,我们看看是否正确。
使用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)
成功。
感谢阅读、收藏、关注。
知其然知其所以然。学习 MyCAT 会是一段很愉快的旅程。如果有你的交流,相信会更加愉快。欢迎添加微信:wangwenbin-server
进行探讨。
11-20
11-19
11-20
11-20
11-20
11-19
11-20
11-20
11-19
11-20
11-19
11-19
11-19
11-19
11-19
11-19