MyCat配置MySql读写分离-WIN环境

一:关于MyCat

什么是MyCat:

1:一个彻底开源,面向企业应用开发的大数据库集群。

2:支持事务,ACID,可以替代MySql的加强版数据库。

3:一个可以视为MySql集群的企业级数据库,用来代替昂贵的Oracle集群。

4:一个融合内存缓存技术,NoSql技术,HDFS大数据的新型SQL Server。

5:结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品。

6:一个新颖的数据库中间件产品。

MyCat能做什么,有什么用途:

1:分库分表,把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。

2:读写分离,线性的提升数据库的读心梗,消除读写锁冲突从而提升数据库的写性能。

MyCat官方链接:

GiHub:https://github.com/MyCATApache/Mycat-Server

官网:http://www.mycat.org.cn/

下载地址:https://github.com/MyCATApache/Mycat-download 

本文使用版本:Mycat-server-1.6.7.1-release

个人链接(如果下载不便可以自提1.6.7版本)MyCat-server-1.6.7.1-release下载地址 (访问密码:5458)

二:使用教程

前提注意事项:MyCat不负责任何数据同步问题,因此需要提前配置好MySql的主从复制数据自动同步功能。可以参考之前的文章进行配置:

MYSQL一个设备上的主从复制实现-windows

MYSQL一个设备上的主从复制实现(GTID版)-windows

MyCat三个主要配置文件:

rule.xml:表示分片规则。

schema.xml:是最主要的配置项,可配置物理数据库连接与分片等。

server.xml:可配置连接用户名与密码等。

 

 

1:在 server.xml 添加用户

mycat:server 标签下配置用户名和密码(自定义),使用客户端连接 MyCat 的时候会用到,就如同 MySql 的连接用户名和密码。

 

 

(system标签里的东西不用动,其他的保留一个user标签配置好就可以)。

name:连接时的用户名称。

password:连接密码。

schemasschemas.xml 配置文件中 schema 标签对应的配置,同时也是数据库名称。

2:配置 schema.xml 

 

 

schema 标签:

  name:数据库名称。

  checkSQLschema:数据库前缀设置,如果为true,select * from testDB.company会变为 select * from company 这种格式,会去掉testDB数据库前缀。

  sqlMaxLimit:默认查询数量。

  dataNode:对应dataNode标签的 name。

dataNode 标签:

  name:自定义。

  dataHost:对应dataHost 标签的 name。

  database:数据库名。

dataHost 标签:

  name:自定义。

  maxCon:指定每个读写实例连接池的最大连接数。

  minCon:指定每个读写实例连接池的最小连接数。

  balance:

    balance="0":不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。

    balance="1":全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡。

    balance="2":所有读操作都随机的在 writeHost、readHost 上分发。

    balance="3":所有读请求随机的分发到 wiriterHost 对应的 readHost 执行,writerHost 不负担读压力,balance="3"只有1.4版本及以后版本有。

  writeType:

    writeType="0":所有的写操作发送到配置的第一个 writeHost,第一个挂了切到还生存的第二个 writeHost,重新启动后以切换后的为准,切换记录在“dnindex.proerties”配置文件中。

    writeType="1":所有写操作都随机的发送到配置的 writeHost。

writeHost 标签:配置接收写操作的数据库服务信息,示例为主服务器3307。

readHost 标签:配置接收读操作的数据库服务信息,示例为从服务器3308。

 

3:MyCat启动

点击 bin 目录下的 mycat.bat,安装 mycat 服务。

如果没有安装上,使用管理员命令窗口进入该目录执行一下命令:

mycat.bat install

启动服务,默认端口8066

4:使用 MySql 客户端连接 MyCat ,并写入数据

示例使用的是 Navicat

用户名和密码是在 server.xml 中配置的数据。

 

 

 

此时打开表查询到的就是配置的从数据库3308里的数据,

可以往从数据库3308的test表中加一条数据,

然后在mycat数据库中查看是否有变化(测试过记得删除,保证从主服务数据一致)。

 

 

 

 

 在MyCat连接中执行一个插入数据语句。

 

 

查看主数据库3307库中的test表

 

 

 查看从数据库3308库中的test表:

 

 

 额外注意:主节点(写库)宕机时,读节点也不能读。

 

 

 

 

posted @ 2021-10-19 13:51  凉年技术  阅读(392)  评论(0编辑  收藏  举报