数据库中间件 MyCAT 源码分析 —— 调试环境搭建
2018-02-12 00:00
561 查看
本文主要基于 MyCAT 1.6.5 正式版1. 依赖工具
2. 源码拉取
3. 数据库配置
4. MyCat 配置
5. MyCAT 启动
6. MyCAT 测试
7. 交流
友情提示:欢迎关注公众号【芋道源码】。?关注后,拉你进【源码圈】微信群和【芋艿】搞基嗨皮。友情提示:欢迎关注公众号【芋道源码】。?关注后,拉你进【源码圈】微信群和【芋艿】】搞基嗨皮。友情提示:欢迎关注公众号【芋道源码】。?关注后,拉你进【源码圈】微信群和【芋艿】】搞基嗨皮。
Git
JDK
MySQL
IntelliJ IDEA
创建数据库表:
2、在
2、在
test目录.png
PORT :8066
USERNAME :root
PASSWORD :123456
知其然知其所以然。学习 MyCAT 会是一段很愉快的旅程。如果有你的交流,相信会更加愉快。欢迎添加微信:
2. 源码拉取
3. 数据库配置
4. MyCat 配置
5. MyCAT 启动
6. MyCAT 测试
7. 交流
友情提示:欢迎关注公众号【芋道源码】。?关注后,拉你进【源码圈】微信群和【芋艿】搞基嗨皮。友情提示:欢迎关注公众号【芋道源码】。?关注后,拉你进【源码圈】微信群和【芋艿】】搞基嗨皮。友情提示:欢迎关注公众号【芋道源码】。?关注后,拉你进【源码圈】微信群和【芋艿】】搞基嗨皮。
1. 依赖工具
MavenGit
JDK
MySQL
IntelliJ IDEA
2. 源码拉取
从官方仓库 https://github.com/MyCATApache/Mycat-ServerFork出属于自己的仓库。为什么要
Fork?既然开始阅读、调试源码,我们可能会写一些注释,有了自己的仓库,可以进行自由的提交。?使用
IntelliJ IDEA从
Fork出来的仓库拉取代码。拉取完成后,
Maven会下载依赖包,可能会花费一些时间,耐心等待下。
3. 数据库配置
我们要搭建的是非分片表的调试环境,需要创建一个数据库和表:创建数据库:db01。
创建数据库表:
travelrecord。
CREATE TABLE `travelrecord` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET latin1 DEFAULT NULL, PRIMARY KEY (` 4000 id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin
4. MyCAT 配置
为了避免对实现源码产生影响,我们选择对test目录做变更。1、在
resources目录下新建文件夹
backups,将原
resources下的所有文件移到
backups下,这样我们的环境就干干净了。
2、在
resources目录下新建
schema.xml文件,配置
MyCAT的逻辑库、表、数据节点、数据源。
<?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="dbtest" checkSQLschema="true" sqlMaxLimit="100"> <table name="travelrecord" dataNode="dn1" autoIncrement="true" primaryKey="id" /> </schema> <dataNode name="dn1" dataHost="localhost1" database="db1" /> <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="hostM1" url="127.0.0.1:33061" user="root" password="123456"> <!-- ‼️‼️‼️ url、user、password 设置成你的数据库 --> </writeHost> </dataHost> </mycat:schema>3、在
resources目录下新建
server.xml文件,配置
MyCAT系统配置。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mycat:server SYSTEM "server.dtd"> <mycat:server xmlns:mycat="http://io.mycat/"> <system> <property name="nonePasswordLogin">0</property> <!-- 0为需要密码登陆、1为不需要密码登陆 ,默认为0,设置为1则需要指定默认账户--> <property name="useHandshakeV10">1</property> <property name="useSqlStat">0</property> <!-- 1为开启实时统计、0为关闭 --> <property name="useGlobleTableCheck">0</property> <!-- 1为开启全加班一致性检测、0为关闭 --> <property name="sequnceHandlerType">2</property> <property name="processorBufferPoolType">0</property> <property name="handleDistributedTransactions">0</property> <property name="useOffHeapForMerge">1</property> <property name="memoryPageSize">64k</property> <property name="spillsFileBufferSize">1k</property> <property name="useStreamOutput">0</property> <property name="systemReserveMemorySize">384m</property> <property name="useZKSwitch">false</property> </system> <user name="root" defaultAccount="true"> <property name="password">123456</property> <property name="schemas">dbtest</property> </user> </mycat:server>
5. MyCAT 启动
1、在java目录下新建
debugger包,和原先已存在的包做区分。
2、在
debbuger包下新建
MycatStartupTest.java:
package debugger; import io.mycat.MycatStartup; /** * {@link io.mycat.MycatStartup}测试 * * Created by yunai on 2017/5/22. */ public class MycatStartupTest { public static void main(String[] args) { MycatStartup.main(args); } }3、运行
MycatStartupTest.java,当看到输出日志
MyCAT Server startup successfully. see logs in logs/mycat.log即为启动成功。截止目前,
test目录如下:
test目录.png
6. MyCAT 测试
调试环境已经搭建完成,我们看看是否正确。使用MySQL客户端连接
MyCAT:HOST :127.0.0.1
PORT :8066
USERNAME :root
PASSWORD :123456
mysql> insert into travelrecord(name) values ('haha'); Query OK, 1 rows affected (0.01 sec) mysql> select * from travelrecord; +--------------------+------+ | id | name | +--------------------+------+ | 866707181398003712 | haha | +--------------------+------+ 1 rows in set (0.05 sec)成功。???
7. 交流
感谢阅读、收藏、关注。知其然知其所以然。学习 MyCAT 会是一段很愉快的旅程。如果有你的交流,相信会更加愉快。欢迎添加微信:
wangwenbin-server进行探讨。
相关文章推荐
- 数据库中间件 MyCAT 源码分析 —— 调试环境搭建
- 数据库中间件 MyCAT 源码分析 —— 调试环境搭建
- 数据库中间件 MyCAT 源码分析 —— 调试环境搭建
- 数据库中间件 MyCAT 源码分析 —— 调试环境搭建
- 数据库中间件 MyCAT 源码分析 —— 调试环境搭建
- 数据库中间件 MyCAT 源码分析 —— 调试环境搭建
- 数据库中间件 MyCAT 源码分析 —— 调试环境搭建
- 数据库中间件 MyCAT 源码分析 —— 调试环境搭建
- 数据库中间件 MyCAT 源码分析 —— 调试环境搭建
- 数据库中间件 MyCAT 源码分析 —— 调试环境搭建
- 数据库中间件 MyCAT源码分析:调试环境搭建
- MyCAT源码分析:调试环境搭建
- 分布式事务 TCC-Transaction 源码分析 —— 调试环境搭建
- 数据库中间件 MyCAT源码分析 —— PreparedStatement 重新入门
- Mycat源码篇 : 起步,Mycat源码阅读调试环境搭建
- 数据库中间件 MyCAT源码分析 —— 跨库两表Join
- 数据库中间件 MyCAT 源码分析 —— 【单库单表】查询
- Flume源码分析—利用Eclipse对Flume源码进行远程调试分析环境搭建(一)
- 数据库中间件 MyCAT 源码分析:【单库单表】插入
- 数据库中间件 MyCAT 源码分析 —— SQL ON MongoDB