Mycat安装与配置

一、准备工作

3台CnetOS7服务器,我这里是安装在虚拟机上的三台服务器,ip地址分别为192.168.0.150,192.168.0.151,192.168.0.152。

150用来安装Mycat,151和152提前安装好Mysql,安装步骤可参考CentOS 7安装MySQL

在两台MySQL服务器上分别创建school_151,school_152,并在这两个库中创建相同的表students。

DROP TABLE IF EXISTS `students`;
CREATE TABLE `students` (
  `id` int NOT NULL,
  `name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

二、安装Mycat

1、从Mycat官网下载安装包:http://www.mycat.org.cn/
Mycat安装与配置_第1张图片

2、主页往下翻选择下载版本,这里选择的是1.6.7.1版本
Mycat安装与配置_第2张图片

3、选择Linux版本,开始下载
Mycat安装与配置_第3张图片

4、将下载好的文件上传到服务器上,我这里的服务器是虚拟机上CentOS7系统
Mycat安装与配置_第4张图片

5、解压文件

tar -zxvf Mycat-server-1.6.7.4-test-20191022170541-linux.tar.gz

Mycat安装与配置_第5张图片

6、解压完毕,将解压后的文件转移到/usr/local目录下(这一步可做可不做)

mv mycat/ /usr/local/

image.png

三、配置Mycat

1、进入mycat目录下的conf目录
Mycat安装与配置_第6张图片

2、修改server.xml文件

vim server.xml

Mycat安装与配置_第7张图片

server.xml里面配置了system、firewall和user,我们现在需要修改一下user里面的schemas,这是mycat的逻辑库名,需跟schema.xml里面的schema标签的name对应,如果需要配置多个schema,可以用,隔开。我们将schemas设置成school,保存并退出。

Mycat安装与配置_第8张图片

3、配置schema.xml

vim schema.xml

Mycat安装与配置_第9张图片

首先配置dataHost,我们这里有两台Mysql服务器,所以需配置两个dataHost。

Mycat安装与配置_第10张图片

将两台Mysql服务器的url,user,password分别配置到dataHost下的writeHost,先将writeHost下的readHost注释掉。为了便于记忆这里将两个dataHost的name分别改为dh151,dh152。接下来配置dataNode。

image.png

我们配置两个dataNode,dataHost属性分别对应前面配置的两个dataHost的name,database属性对应两台Mysql服务器中的school_151,school_152,并将name分别设置为dn151,dn152。

image.png

最后配置schema。

image.png

schema的name属性对应server.xml中配置的schema,shcema下面的table标签的name属性与Mysql中的表名一致,dataNode属性对应上面配置的两个dataNode标签的name,rule属性表示的是分片规则,这里使用的是auto-sharding-long。这里只保留一个table标签,将其他的table标签注释掉。保存并退出。

image.png

4、修改autopartition-long.txt。因为我们配置的分片规则auto-sharding-long是根据id范围进行分片的,autopartition-long.txt默认配置了三个分片范围,我们只有两台Mysql进行分片,所以这里将最下面的1000M-1500M=2注销掉。

vim autopartition-long.txt

Mycat安装与配置_第11张图片

5、启动Mycat。进入mycat目录下的bin目录,输入以下命令。

./mycat console

Mycat安装与配置_第12张图片

console表示将启动信息显示在控制台,如果不需要显示启动信息,可以用:

./mycat start

四、测试

1、使用Navicat连接Mycat,跟连接Mysql一样,Mycat的端口为8066。
Mycat安装与配置_第13张图片

2、成功连接后,可以看到Mycat下面会有一个school的数据库,这是逻辑库,非实体库。school下面有一张students表。
Mycat安装与配置_第14张图片

3、此时,我们两台Mysql服务器上的school_151、school_152下students表中无任何数据。我们在Mycat中新建查询并插入一条id为1的数据
Mycat安装与配置_第15张图片

在mycat和mysql_151上,可以查询到这条新添加的数据。
Mycat安装与配置_第16张图片

在mysql_152上表中无任何记录
Mycat安装与配置_第17张图片

我们在mycat中再次插入一条id为7777777的记录,此时,mycat表中有了两条记录

Mycat安装与配置_第18张图片

mysql_151拥有一条id为1的数据

Mycat安装与配置_第19张图片

mysql_152用有一条id为7777777的数据

Mycat安装与配置_第20张图片

至此,Mycat成功安装并实现了简单的分库分表。

你可能感兴趣的:(mycat)