1. 下载安装
- 准备环境;
- mycat软件版本:1.6.7.4;
- mycat官网下载地址
- java1.8+;
备注:mycat的默认服务端口是8066,默认管理端口是9066; - 解压:
- 这里面有几个文件夹:
- bin:可执行文件夹;
- conf:配置文件的文件夹;
- logs:日志文件,如果配置文件有问题,使用终端启动没有成功时,其实是不知道的,因此可以查看日志文件文件查找失败原因;如果启动成功,会产生一个mycat.pid文件,这个文件里面存储的是mycat进程的pid;
- 启动方法:进入mycat的根目录下,右键在终端中打开,执行命令:
常用命令:start/stop/restart/status/dumpsudo ./bin/mycat start
刚解压完毕启动肯定失败,没有配置数据库信息
2. 配置说明:
- mycat的配置文件在conf中,主要有三个很重要的文件:server.xml,schema.xml,rule.xml文件,下面依次对这些文件进行说明;
3. server.xml文件配置:
这是mycat的配置文件,如果一个终端,例如navicat,需要连接mycat,就是在这里面配置;
- 默认服务端口是8066,管理端口是9066,跟本地的mysql数据库3306端口不冲突;
- 端口号设置在大约45行,是被注释掉的,不用管,缺省值是在程序中写的;
- 大约在99行开始,设置防火墙信息,跟mysql一样,可以设置白名单和黑名单:
- 设置要连接的mycat的信息,用户名,密码,数据库等,其中密码可以用密文表示,使用myat提供的一个jar包(这个一会说):
这里有一个概念,schemas:虚拟数据库,自己连接mycat时显示的数据库,和真实的数据库没有关系,但是和schema.xml文件中配置的schema的name属性对应;
4. schema.xml文件:
这里说三个概念:
- dataHost:真实数据库服务器信息,在这里只定义数据库服务器的连接信息,没有定义数据库的信息;
name:自定义的真实数据库服务器别名;
writeHost:设置mycat要连接的真实数据库的url,username,password;
dbType:设置驱动类型,这里是mysql; - dataNode:数据节点/真实节点,一台真实电脑上的一个大数据库中的小数据库,叫一个节点,例如information_schema或者web-iot-yxyg_dev,叫一个节点:
可以设置的属性如下:
name:自己定义的数据表的别名;
dataHost:映射真实主机上的数据库,对应dataHost的name值;
database:对应dataHost上的一个数据库,例如上图的:web-iot-yxyg_dev; - schema:mycat虚拟的数据库,连接mycat时显示的数据库,如下:
可以设置的属性如下:
name:数据库别名;
randomDataNode:官网上默认有这个信息,可以先删除不用;
table:对应的表名,这里的表名和真实的数据库中的表名要一一对应,因为mycat是映射的真实数据库,因此是不会自动建表的;
- dataNode:对应的哪个数据节点;和table联合使用,就是映射数据库中的哪张表;
5. rule.xml文件;
这里面定义了数据库分库分表的原则,一会可以细说;
6. 我的配置文件:
- server.xml文件:
- schema.xml文件:
- 效果如下: