快乐学习
前程无忧、中华英才非你莫属!

MyCAT入门到精通-Day2

10分钟进行源码调试
MyCAT 是使用 JAVA 语言进行编写开发,使用前需要先安装 JAVA 运行环境(JRE),由于 MyCAT 中使用了 JDK7 中的一些特性,所以要求必须在 JDK7 以上的版本上运行。
为了更好的去了解它的运行逻辑,可以把它的源代码部署到我们的开发工具里面,可以进行Debug调试。
源码调试环境
IDEA 2017
JDK 1.8
GIT
MAVEN 3.X
MySQL
MyCat 1.6.6.1
1、配置git ,克隆项目到本地
2、指定Maven的pom.xml
~~~~~~~~~~~~~~~~~如果网速链路好,10分钟左右源码运行环境就构建成功了~~~~~~~~~~~~~
3、 数据库配置
创建数据库:db01 。
创建数据库表:travelrecord 。
CREATE TABLE `travelrecord` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET latin1 DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin
4、MyCat配置
为了避免对实现源码产生影响,我们选择对 test 目录做变更。
1、在 resources 目录下新建文件夹 backups ,将原 resources 下的所有文件移到 backups 下,这样我们的环境就干干净了。
2、在 resources 目录下新建 schema.xml ,server.xml文件,配置 MyCAT 服务。
3、将main /resources 的index_to_charset.properties 移动到 test目录的resources下,为了方便debuger 调试。
schema.xml 
<?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="db01" />
    <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:3306" user="root" password="root"> <!-- ‼️‼️‼️ url、user、password 设置成你的数据库 -->
        </writeHost>
    </dataHost>
</mycat:schema>
server.xml
<?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">root</property>
        <property name="schemas">dbtest</property>
    </user>
</mycat:server>

5. MyCAT 启动

1、在 java 目录下新建 debug 包,和原先已存在的包做区分。
2、在 debbuger 包下新建 MycatStartupTest.java 
package debug;
import io.mycat.MycatStartup;
public class MycatStartupTest {
    public static void main(String[] args) {
        MycatStartup.main(args);
    }
}
启动之前要设置MYCAT_HOME
步骤1:
步骤2:

6. MyCAT 测试

通过MyCat代理服务器成功访问到,本地数据库创建数据库:db01 。
创建数据库表:travelrecord 。
打赏
赞(0) 打赏
未经允许不得转载:同乐学堂 » MyCAT入门到精通-Day2

特别的技术,给特别的你!

联系QQ:1071235258QQ群:710045715

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

error: Sorry,暂时内容不可复制!