MYCAT-SERVER1.5.1简易入门教程

一、安装java

因Mycat是用java开发的,所以需要在实验环境下安装java,官方建议jdk1.7及以上版本

将文件上传到/usr/local/目录下,解压jdk-7u79-linux-x64.tar.gz文件。

命令:

# tar -zxvf jdk-7u79-linux-x64.tar.gz

二、MYSQL配置 mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz

安装步骤略

三、MYCAT配置 

上传文件到/usr/local/目录下

# tar -zxvf Mycat-server-1.5.1-RELEASE-20160405120037-linux.tar.gz

# cd mycat/conf

#修改MYCAT/conf/wrapper.conf 文件中jdk/java路径,并保存退出。

# vim wrapper.conf

MYCAT-SERVER1.5.1简易入门教程_第1张图片

# vim schema.xml   编辑MYCAT逻辑数据库配置文件。

MYCAT-SERVER1.5.1简易入门教程_第2张图片

MYCAT-SERVER1.5.1简易入门教程_第3张图片

dataHost属性解析:

name:唯一名称,maxCon:物理数据库,最大连接线程,minCon为最小,balance=0:不开启读写分离模式(即没主从查询分离),writeType=0:不开启负载均衡,当第一个writeHost连接失败,才用第二组。dbType:数据库类型,dbDriver:数据库驱动连接方式,其它数据库可采用jdbc。switchType=1:自动切换,配置主从后,会根据主从心跳检测切换。heartbeat:MYCAT与数据库之间通信心跳检测语句。writeHost物理数据库连接地址及用户名密码。

以上属性详解,请阅读MYCAT指南。

修改数据库连接地址后,保存退出,如下图

MYCAT-SERVER1.5.1简易入门教程_第4张图片

启动MYCAT,日志目录下,显示错误。原因是,没有在/etc/hosts下配置mycatdb

MYCAT-SERVER1.5.1简易入门教程_第5张图片

配置mycatdb


修改下MYCAT日志文件级别,方便观察,默认INFO级别。

# vim /usr/local/mycat/conf/log4j.xml

MYCAT-SERVER1.5.1简易入门教程_第6张图片

再次启动MYCAT服务,查看wrapper.log,mycat.log

MYCAT-SERVER1.5.1简易入门教程_第7张图片

MYCAT-SERVER1.5.1简易入门教程_第8张图片

启动MYCAT成功,并创建了10个数据库连接,连接三个逻辑节点对应的物理数据库,服务端口8066,管理端口9066等。。。

查看MYCAT/conf下,server.xml配置


连接8066端口

MYCAT-SERVER1.5.1简易入门教程_第9张图片

MYCAT-SERVER1.5.1简易入门教程_第10张图片

连接MYSQL数据库,查看数据库及表,MYCAT逻辑数据库,在物理数据库上,并未真实存在。

MYCAT-SERVER1.5.1简易入门教程_第11张图片

在MYSQL物理数据库上,创建TESTDB逻辑数据库,三个分片节点对应的存储库名称(这里需要手工在MYSQL上创建)

MYCAT-SERVER1.5.1简易入门教程_第12张图片

在MYCAT上创建逻辑表,数据源无法连接第一个数据源,查看MYCAT日志,也说数据库无法连接。

创建Travelrecord表 

create table travelrecord (id bigint not null primary key,user_id varchar(100),traveldate DATE, fee decimal,days int);



解决办法,因为MYCAT采用远程连接方式,连接MYSQL,先查看MYCAT连接用户schema.xml中writeHost标签里用户名是否有连接MYSQL权限。

MYCAT-SERVER1.5.1简易入门教程_第13张图片

root用户仅允许本地连接,不允许IP地址连接,给root用户授权。

#允许root用户远程访问,“%”表示,允许任何IP地址通用用户名密码连接。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123123' WITH GRANT OPTION; 
#刷新权限
mysql> FLUSH PRIVILEGES; 


再到MYCAT里创建逻辑表,并查看,该逻辑表,被分别创建到三个逻辑节点对应的数据库上。

MYCAT-SERVER1.5.1简易入门教程_第14张图片

在MYSQL物理库上查看,通过MYCAT,将表分别创建在db1、db2、db3,三个数据库下。

MYCAT-SERVER1.5.1简易入门教程_第15张图片

在MYCAT上插入表数据,数据插入成功。

MYCAT-SERVER1.5.1简易入门教程_第16张图片

在MYSQL上查看

MYCAT-SERVER1.5.1简易入门教程_第17张图片

三条记录,通过MYCAT分片规则,被分配到了,三个不同database上。

分片规则定义文件 mycat/conf/rule.xml,截取rule.xml中片段展示

 
               
                        id
                        rang-long
               

       


                class="org.opencloudb.route.function.AutoPartitionByLong">
                autopartition-long.txt
       

文件autopartition-long.txt内容:

MYCAT-SERVER1.5.1简易入门教程_第18张图片


你可能感兴趣的:(MYCAT学习)