`
y806839048
  • 浏览: 1120959 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

mycat的一些归纳

阅读更多

 

 

mycat:

 

 

配置文件有3个

   1,server.xml----mycat本身的服务器参数,和用户配置

   2,scheam.xml----具体需要规则分片的表配置规则

   3,rule.xml----申明好后面要用的规则

 

 

 

server.xml:

 

schemas逻辑数据库

    逻辑数据中包含许多dn

          每个dn对应一个datahost,其中的database就是逻辑数据库名

      每个datahost设置数据库读写地址,其中的host随便写(同一个datahost中读写同步的数据库相同即可)

 

 

1,主从配置

   datahost    balance--负载策略   switchType  主从切换策略

       writerhost

          readhost

一个dn一个dataHost 

 <dataNode name="dn1" dataHost="vm1" database="test" />

<dataNode name="dn2" dataHost="vm2" database="test" />
<dataNode name="dn3" dataHost="vm3" database="test" />

 <dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"

                writeType="0" dbType="mysql" dbDriver="native" switchType="-1"  slaveThreshold="100">

                <heartbeat>select user()</heartbeat>

                <!-- can have multi write hosts -->

                <writeHost host="hostM1" url="localhost:3306" user="root"

                        password="123456">

                        <!-- can have multi read hosts -->

                <readHost host="hostS1" url="192.168.244.146:3306" user="root" password="123456" />

                </writeHost>

</dataHost>

 

 

2:

scheam.xml

 

<table name="t_vote" dataNode="dn2,dn1,dn3" rule="sharding-by-intfile-test" />

 

3:rule.xml

   1. tableRule

 

   2. function

 

   3. mapFile

 

 

 <tableRule name="sharding-by-intfile-test">

                <rule>

                        <columns>province</columns>

                        <algorithm>hash-int-test</algorithm>

                </rule>

    </tableRule>

 

<function name="hash-int-test"

                class="org.opencloudb.route.function.PartitionByFileMap">

                <property name="mapFile">partition-hash-int-test.txt</property>

                <property name="type">1</property>

                <property name="defaultNode">0</property>

      </function>

 

 

 

mapFile:

 

 

hubei=0

tianjin=1

guangdong=2

 

 

 

 

mycat没有主从复制功能,只有能根据sql语句的特性识别出是读还是写,读的分配到readhost(startdant by writehost),写的分配到writehost,从主之间的数据复制是靠mysql自身实现的

 

我们自己实现读写分离的方案就是用注解标识

 

 

分库、分表的时候原理:

mycat 只支持通过注解实现读哪个库,或者哪个分片。

 

mycat相当于一个虚拟的数据库,但是可以直接navicat客户端连接执行sql,外部看到的只有这个库,他的功能就是路由数据节点(实现读写分离(根据sql语句分离),分离数据库分片(根据对某个字段的算法))

 

一个数据节点datanote就相当于一个数据片,datahost就是数据库物理节点,database就是这个datanode的从属scheam

 

 

分库分表是在不同的datanode间,读写分离实在一个datanode中不同的readhost,writehost

 

1,读写分离只要一个datanode即可,一个node中有readhost,writehost:

<dataNode name="dn1" dataHost="test1" database="lunch" />

 

 

<dataHost name="test1" maxCon="1000" minCon="10" balance="1"  writeType="0" dbType="mysql" dbDriver="native">

        <heartbeat>select user();</heartbeat>

        <writeHost host="hostM1" url="192.168.0.2:3306" user="root" password="123456">  

        <readHost host="hostM1" url="192.168.0.3:3306" user="root" password="123456">   

        </readHost>

        </writeHost>

    </dataHost>

 

    <table name="lunchmenu" dataNode="dn1"  />

 

2,分库分表需要多个datanode,规则是决定分在不同的dn,一个dn就是一个dataHost :

<table name="t_vote" dataNode="dn2,dn1,dn3" rule="sharding-by-intfile-test" />

 

 

mycat有管理端口和管理页面,有问题可以看运行日志,

启动日志:

1,wrapper.log 为程序启动的日志,启动时的问题看这个

2,mycat.log 为脚本执行时的日志,SQL脚本执行报错后的具体错误内容,查看这个文件

 

 

分享到:
评论

相关推荐

    MyCat测试报告(单机MyCAT对比多机MyCAT)1

    《MyCat测试报告:单机与多机集群的性能比较》 MyCat,作为一个流行的开源分布式数据库系统,常被用于解决大数据场景下的高并发问题。本测试报告旨在探究单台MyCat与多台MyCat集群在性能上的差异,并对比前端使用...

    mycat2 install-template(mycat2-install-template-1.20.zip)

    【标题】"mycat2 install-template(mycat2-install-template-1.20.zip)" 指的是MyCat 2的一个安装模板文件,版本号为1.20,存储在一个名为“mycat2-install-template-1.20.zip”的压缩包内。MyCat是开源的、基于...

    MYCAT.zip MYCAT.zip

    MYCAT是一款开源的分布式数据库中间件,主要用于解决大数据量下的高性能读写问题,它通过分库分表的方式,实现数据库的水平扩展。MYCAT的核心设计理念是“Scale Out”,即通过增加硬件设备的数量来提升系统处理能力...

    Mycat-1.6.7.3.zip

    《Mycat数据库分片中间件详解》 Mycat,作为一款开源的分布式数据库中间件,被广泛应用于大数据量、高并发的互联网环境中。它实现了数据库的分片功能,可以将一个大表拆分成多个小表,分散在不同的数据库服务器上,...

    mycat2(mycat2映射关系.pdf)

    MyCat2映射关系概述 MyCat2是一款开源的数据库中间件,可以实现数据库的分布式处理、读写分离、负载均衡等功能。在MyCat2中,数据源、集群和逻辑表是三个核心概念。 数据源(DataSource)是指实际的数据库实例,...

    mycat2 install-template(mycat2-install-template-1.21.zip)

    【标题】"mycat2 install-template(mycat2-install-template-1.21.zip)" 指的是MyCat 2的一个安装模板文件,版本为1.21,通常包含了安装MyCat 2所需的所有配置文件和脚本,用于简化部署过程。 【描述】虽然描述...

    mycat2(mycat2-1.21-release-jar-with-dependencies.jar)

    《深入解析mycat2:基于mycat2-1.21-release-jar-with-dependencies.jar的分布式数据库中间件》 mycat2是一款开源的、高性能的、基于Java开发的分布式数据库中间件,它旨在解决大数据分布式存储和处理的问题。mycat...

    proxy与mycat对比测试

    Proxy和Mycat是两种常用的中间件,用于实现这些功能。本篇文章将深入探讨proxy和Mycat的对比测试,以及如何在MySQL主从架构中进行测试。 首先,我们来看proxy。Proxy通常指的是数据库代理服务器,它位于应用服务器...

    Mycat1.6 安装步骤

    - **wrapper.conf**:该文件位于`/usr/local/mycat/conf/`目录下,用于设置Mycat服务的一些基本参数,如Java版本、日志级别等。 - **schema.xml**:该文件同样位于`/usr/local/mycat/conf/`目录下,是Mycat的核心...

    MyCat从入门到放弃

    【MyCat从入门到放弃】 MyCat是一款开源的分布式数据库中间件,它的设计目标是让大数据分布式处理变得简单。在大型互联网应用中,面对高并发、海量数据的挑战,单机数据库往往无法满足需求,因此MyCat应运而生。本...

    mycat2-1.21

    【标题】"mycat2-1.21" 指的是Mycat数据库中间件的一个特定版本,即1.21版。Mycat是一款开源的、基于Java开发的分布式数据库系统,常用于大数据环境下的数据库集群管理,能够实现数据库的水平扩展,提升系统的并发...

    Mycat从入门到精通视频教程

    Mycat从入门到精通视频教程目录介绍: 第1课 Mycat前世今生 Mycat的历史、背后的团队、发展现状、RoadMap等 第2课 Mycat原理与入门 Mycat的原理、主要功能、配置和使用入门 第3课 Mycat故障排查指南 常见...

    MySQL 中间件 MyCat 1.6.5 WIN 版 免安装

    MySQL中间件MyCat是一款在大数据环境下广泛使用的数据库管理和分发工具,特别针对MySQL数据库系统设计,旨在实现数据库的读写分离和水平扩展。MyCat 1.6.5是其一个稳定版本,专为Windows环境提供了免安装的便捷性。...

    mycat2基础安装包

    【标题】"mycat2基础安装包"涉及的是开源数据库中间件Mycat的第二代版本,Mycat是一款基于Java开发的分布式数据库系统,它主要用于解决大数据量、高并发场景下的数据存储与访问问题。在传统的单机数据库无法满足业务...

    MyCat权威指南 更新于2018年7月25

    它是一个开源的分布式...将一些计算分析后的数据灌入到 Hadoop 中,并能用 Mycat+Storm/Spark Stream 引擎做大规模数据分析,看 到这里,你大概明白了,Mycat 是什么?Mycat 就是 BigSQL,Big Data On SQL Database。

    关系型数据的分布式处理系统MyCAT

    ### 关系型数据的分布式处理系统MyCAT:深入解析与应用 #### 1. MyCAT 概述 ##### 1.1 背景 随着信息技术的快速发展,传统的数据库技术面临着越来越大的挑战。特别是当数据库应用扩展到互联网级别时,集中式...

    mycat学习教程

    《Mycat学习教程:从入门到精通》 Mycat,作为一款开源的分布式数据库中间件,是Java开发者在构建大型分布式数据库系统时的得力工具。它支持分库分表、读写分离、数据复制等功能,有效解决了传统集中式数据库系统的...

    mycat生产使用遇到的8大问题汇总

    然而,在实际生产环境中,Mycat的使用往往会遇到一些常见问题。以下是对这些问题的详细解析,旨在帮助读者避免在技术选型和应用过程中陷入困境。 1. **数据不一致问题** Mycat在实现分库分表的过程中,可能由于...

    Mycat文档.zip

    【Mycat文档.zip】是一个包含了关于Mycat数据库中间件的重要资料的压缩包,其中包含了一份名为`Mycat.md`的Markdown格式文档、一个`MyCat.pdf`的PDF文件,以及一个名为`assets`的目录,可能包含了辅助图片、图表或者...

Global site tag (gtag.js) - Google Analytics