`
y806839048
  • 浏览: 1107983 次
  • 性别: 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 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源

    mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源mycat 资源...

    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(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通常指的是数据库代理服务器,它位于应用服务器...

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

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

    Mycat1.6 安装步骤

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

    mycat2-1.21

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

    Mycat从入门到精通视频教程

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

    mycat2基础安装包

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

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

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

    MyCat从入门到放弃

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

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

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

    mycat学习教程

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

    Mycat文档.zip

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

    mycat-web(mycat-eye)

    【mycat-web(mycat-eye)】是一款专为mycat数据库中间件设计的性能测试与监控工具。mycat作为一款开源的分布式数据库系统,它在处理大数据量时表现出了强大的性能,而mycat-eye则是其不可或缺的辅助组件,用于实时...

Global site tag (gtag.js) - Google Analytics