mysql中间件Mycat:配置1(多节点取数据)

数据库中间件 -- MyCat 1. 读写分离2. 数据分片垂直拆分(分库)、水平拆分(分表)、垂直+水平拆分(分库分表)3. 多数据源整合Mycat-web 是 Mycat 可视化运维的管理和监控平台,弥补了 Mycat 在监控上的空白。帮 Mycat 分 担统计任务和配置管理任务。Mycat-web 引入了 ZooKeeper 作为配置中心,可以管理多个节点。Mycat-web 主要管理和监控 Mycat 的流量、连接、活动线程和内存等,具备 IP 白名单、邮件告警等模 块,还可以统计 SQL 并分析慢 SQL 和高频 SQL 等。 阅读详情

mycat是什么不再介绍。
mycat官网地址:
http://www.mycat.io/

依赖:jdk 1.7+

关于jdk的安装,可以参考:
http://blog.youkuaiyun.com/github_26672553/article/details/58222614

mycat下载地址:
https://github.com/MyCATApache/Mycat-download/tree/master/1.5-RELEASE
下载完毕之后,解压到我们的目录:

tar -zvxf 压缩包名 -C /usr/local/

我这里解压到了/usr/local目录下。

设置mycat的环境变量

vi /etc/profile
export MYCAT_HOME=/usr/local/mycat

保存后执行:source /etc/profile
这里写图片描述
另外还要mysql忽略表名大小写,修改mysql配置文件:

[mysqld]
lower_case_table_names = 1

mycat配置文件

mycat/conf下有3个重要的配置文件:

server.xml 定义系统参数和授权;
schema.xml 定义逻辑库、表、分片节点;
rule.xml 定义分片规则等
这里写图片描述

我们首选来看 schema.xml 这个配置文件

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://org.opencloudb/">
    <!-- mydbname 自定义的名字(可以理解为虚拟的数据库名) -->
    <schema name="mydbname" checkSQLschema="false" sqlMaxLimit="100">
        <!-- news 真实表名 id是主键 -->
        <!--  dataNode是节点-->
         <table name="news" primaryKey="id"  type="global" dataNode="dataNode1,dataNode2" />
    </schema> 

     <!-- 节点配置 -->
     <!-- 2个节点 数据库名称是test(真实的数据库名称) -->
    <dataNode name="dataNode1" dataHost="dataHost1" database="test" />
    <dataNode name="dataNode2" dataHost="dataHost2" database="test" />


    <dataHost name="dataHost1" maxCon="1000" minCon="10" balance="0"
        writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <!-- can have multi write hosts -->
        <writeHost host="hostM1" url="10.211.55.13:3306" user="root" password="root"> </writeHost>
    </dataHost>

    <dataHost name="dataHost2" maxCon="1000" minCon="10" balance="0"
        writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <writeHost host="hostM1" url="192.168.15.138:3306" user="root" password="root"> </writeHost>
    </dataHost>

</mycat:schema>

需要注意的是:2台mysql之间要能够互相连通。

然后修改 server.xml这个配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mycat:server SYSTEM "server.dtd">
<mycat:server xmlns:mycat="http://org.opencloudb/">

    <system>
        <property name="defaultSqlParser">druidparser</property>
    </system>

    <user name="mycat1">
        <property name="password">admin888</property>
        <!--  schemas就是schema.xml中配置的虚拟数据库名称-->
        <property name="schemas">mydbname</property>
    </user>

    <user name="mycat2">
        <property name="password">admin888</property>
        <property name="schemas">mydbname</property>
        <!-- 只读 -->
        <property name="readOnly">true</property>
    </user>

</mycat:server>

启动 mycat

cd /usr/local/mycat/bin
./mycat start

然后我们可以用数据库客户端工具来连接我们的mycat
这里写图片描述
这里写图片描述

MyCat中间件:读写分离 利用MyCat中间件实现读写分离需要两步: 1、搭建MySQL主从复制环境 2、配置MyCat读写分离策略一、搭建MySQL主从环境参考上一篇博文:MySQL系列之七:主从复制 二、配置MyCat读写分离策略本篇只讨论MyCat读写分离,有关的配置文件schema.xml 和 server.xml(暂且不谈性能优化)。1、schema.xml文件MyCat作为中间件,它只是一个代理,本身并不进行 阅读详情

相关推荐

MySQL之中间件Mycat实现读写分离

MySQL之中间件Mycat实现读写分离

wwwu1998的博客 1556

mysql双节点部署_Mycat 部署双节点MySQL

一、环境介绍1. mysql 节点1环境操作系统: centos x64数据库名: lujw_mycat_db_53_1hostname: c1ip: 192.168.171.532. mysql 节点2环境操作系统: centos x64数据库名: lujw_mycat_db_54_1hostname: c2ip: 192.168.171.543. mycat 环境安装在个人电脑 MacBook...

weixin_29932857的博客 523

MyCAT数据库中间件:让你的数据库无缝扩展!

它被广泛用于大数据和高并发的场景中,作为传统关系数据库(如MySQL)的扩展,以提高性能和扩展能力。MyCAT支持将读请求和写请求分离,通过主从复制(master-slave replication)机制来实现高效的读写操作。写操作通常指向主库,而读操作可以由从库处理,从而提高读操作的效率。MyCAT允许将大型数据库表拆分为更小的部分(即分片),这些分片可以存储在不同的数据库实例中。MyCAT能够将数据库请求分配到不同的后端数据库实例,均衡负载。MyCAT支持跨多个数据库实例的事务处理,确保数据的一致性。

zgt_certificate的博客 1523

mycat是什么_MyCat + MySQL 主从部署流程(上)

背景本周研究了一下数据库中间件 MyCat ,并验证了 MyCat 单机 + MySQL 主从复制 的部署方案,本文将整理 MyCat 单机的 Schema 的几种部署方案,并以 MyCat 单机 + MySQL 主从复制的部署流程为主,详细介绍这一方案的部署过程。环境准备使用 MyCat 单机 + MySQL 主从,最少需要两台机器,本文使用一主一从,MyCat 单独部署,总共三个虚拟机节点。由...

weixin_39849888的博客 202

Telegram Bot Api使用教程

其中token为你的机器人token,method为telegram给定的方法,在获取群组chat_id那一步就使用了telegram的其中一个方法(getUpdates),其他方法后面会介绍。telegram发送消息的方式类似与钉钉机器人,都是向一个api发送http请求,而且对于同一个APItelegram支持GET和POST两种请求方式.请求的api格式如下。通常来说我们都需要让机器人在一个群组里工作,所以首先我们需要将机器人添加到我们指定的群组,在群组里发送随意消息并@这个机器人,比如...

豫迷糊的码上生活 1万+

Pico设备手势追踪实战:5步搞定MRTK3手部模型与UI交互配置

本文详细介绍了在Pico设备上使用MRTK3实现手势追踪的5个关键步骤,包括环境配置、手部模型冲突解决、射线交互优化、UI交互配置及性能优化。通过实战案例和代码示例,帮助开发者快速解决MR开发中的常见问题,提升混合现实应用的交互体验。

onion的博客 497

mycat两个mysql实例的搭建_mysql多实例+mycat+mycatweb

一、拓扑图本次实验搭建的为一台服务器上安装四个mysql实例,实现两主两从的结构;然后两个主mysql承接mycat写的操作,两个从mysql承接mycat读的操作,实现读写分离。同时,使用mycat-web连接mycat,实现对mycat性能的监控。二、安装mysql首先查看java版本mycat需要jdk1.7以上版本。我用的mysql安装包为源码包,因为用免编译包可能会出现文件路径或权限各种...

weixin_28706423的博客 508

UE4 GamePlay框架深度解析:从蓝图到C++构建多人游戏核心

在游戏开发与实时交互应用领域,一套清晰、可扩展的底层框架是项目成功的关键。GamePlay框架作为虚幻引擎(UE4/UE5)的核心架构,定义了游戏世界中对象交互、状态管理与网络同步的基本原理。它通过职责分离的设计模式,将游戏规则(GameMode)、全局状态(GameState)、玩家状态(PlayerState)、可操控实体(Pawn/Character)及其控制器(Controller)等核心类有机组织起来,确保了逻辑的清晰性与多人游戏数据的一致性。其技术价值在于为开发者提供了一套经过验证的最佳实践,大

weixin_33924770的博客 611

MyCat搭建MySQL双主双从及分库分表

读写分离,基本原理是让主数据库处理事务性增、删、改操作,而从数据库处理查询操作。从集中到分布,最基本的一个需求不是数据存储的瓶颈,而是在于计算的瓶颈,即SQL查询的瓶颈,我们知道,正常情况下,insert SQL就是几十个毫秒的时间写入完成,而系统中的大多数SelectSQL则要几秒到几分钟才能有结果,很多复杂的SQL,其消耗CPU的能力超强,不亚于死循环的威力。所以使用读写分离就是为了增强数据库的性能。读写分离方案。

weixin_49076273的博客 2092

【RT-DETR有效改进】计算训练好权重文件对应的FPS、推理每张图片的平均时间(科研必备)

本文给大家带来的改进机制是利用我们训练好的权重文件计算FPS,同时打印每张图片所利用的平均时间,模型大小(以MB为单位),同时支持batch_size功能的选择,对于轻量化模型的读者来说,本文的内容对你一定有帮助,可以清晰帮你展示出模型速度性能的提升以及轻量化的效果(模型大小),对于以提高精度为目的的读者本文也能够帮助大家展示出现阶段的模型速度指标。所以本文的内容是十分有用的机制,对于大家发表论文来说,下面的图片为运行后的效果可以看到,该有的指标均已打印(本文内容为我独家创新,全网无第二份)下面是效果图和文

Snu77的博客 3628

Linux ARM平台开发系列讲解(网络篇)1.3 MDIO总线设备device和设备driver匹配

在设备和驱动都载入内核后,设备和驱动是如何匹配起来的呢?其实他们就是通过的唯一标识phyID进行匹配phy_dev和phy_drv是通过phy_bus_match函数进行匹配,匹配成功后会建立链表链接,具体流程如下图: 返回总目录......

DSMGUOGUO的博客 1098

单个机器搭建多节点mycat集群

我们开发的项目有些是有高并发的需求的,但是我们的mysql单击能够承载的并发特别有限,所以生产上我们一般使用mysql集群来分担高并发的压力.上文我们已经完成了主从的搭建,在主从的基础上你也可以搭建出多节点的mysql集群,本文主要处理在多个mysql节点之间如何分配请求,要搭建出分发请求的mycat我们应该怎么做 下载mycat文件,如果链接失效请留言 链接:https://pan.baidu.com/s/15MVEXdxqC8mDTsG_ZB973Q 提取码:iohe 解压 tar -zxvf.

weixin_39614177的博客 511

深入解析 Fiori Launchpad Notification:架构、配置与用户体验全景

开发者可继承接口,在注册自研 Provider,利用实例化消息;若想批量推送,可用API (

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 434

MySQL-中间件mycat(一)

mycat目前已经出mycat2版本了,虽然还没有全面普及,但是大概这两年各大企业逐步升级mycat2,但是mycat1还是要有一定的了解。本次mycat分三章讲解,熟悉mycat1后,可以去官网下载一个mycat2学习

大虾好吃吗 6547

软考嵌入式 第五讲 嵌入式Linux系统技术

5.1 inittab配置文件 Linux实时操作系统开机引导时首先启动内核,由内核检查和初始化硬件设备,载入设备的驱动程序模块,安装root文件系统,然后内核将启动一个名为init的进程,它是系统运行的第一个进程,进程号为1。在init运行完成并启动其他必要的后续进程后,系统开始运行,引导过程结束。 在任何时候,可以在文件inittab中添加新的记录项。重新检查inittab文件时,可以通过命令:init q/ Q使init进程立即重新读取并处理文件inittab。 5.1.1 inittab文件记录

Leon的博客 526

【数据集】中国2003年至2022年全天空每日气温数据集

中国2003年至2022年全天空每日气温数据集

WW、forever的博客 601

【mysql数据库】mycat中间件

Mycat 是数据库 中间件。 ### 2、 为什么要用 Mycat ① Java 与数据库紧耦合 。 ② 高访问量高并发对数据库的压力 。 ③ 读 写请求数据不一致。

翡翠泪滴的博客 2042

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

MySQL数据中间件:MyCAT与ShardingSphere

如果追求快速上线、简化架构复杂度,可以选择MyCAT;如果希望获得更强的灵活性、扩展性和生态兼容性,推荐使用;对于金融或强一致性要求的系统,可以结合Seata实现分布式事务保障。构建一套可弹性扩展、易维护、高性能的分布式数据库架构体系,从而支撑企业业务的持续增长和技术演进。

zevjay的博客 1024

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Mycat中间件

(1)了解Mycat提供的读写分离功能。(2)了解MySQL数据库的主从架构。(3)构建以Mycat为中间件的读写分离数据库集群。

2301_80286384的博客 1882

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

MySQL 的 ShardingSphere MyCAT 分片中间件实战

随着互联网业务规模的增长,数据库的单点瓶颈问题日益凸显。为了提高 MySQL 的性能和扩展性,**分库分表(Sharding)**成为常见的解决方案。然而,手动实现分片逻辑复杂度较高,因此,**ShardingSphere 和 MyCAT** 等分片中间件应运而生。本文将介绍 **ShardingSphere 和 MyCAT** 的核心原理,并通过实际案例展示如何使用它们进行 MySQL 分片。

1372

Linux中centos7,mycat中间件和MySQL本机连接

mycat中间件

qq_62166387的博客 1022

MySQL主从服务以及Mycat中间件

一些需要的包放在了最后,要的自取创建上3个虚拟机,规划如下:ip主机名节点192.168.143.161db1Mariadb数据库主节点192.168.143.162db2Mariadb数据库从节点192.168.143.163mycatMycat中间件服务节点 1.2 修改三个节点的主机映射 db1: db2: mycat: 1.3 配置yum源: 因为数据库集群需要安装mariadb服数据库服务,后续mycat需要有Java环境,所以这里需要yum源,使得它既有mar

LCL_18的博客 1622

MyCat安装配置,及数据分片

保持数据`表结构不变`,通过某种策略对**数据**进行分片。这样每一片数据分散到不同库中,达到了分布式的目的。 水平拆分可以支撑非常大的数据量。

总结分享 1821

MyCat数据库中间件

数据库中间件,支持多种数据库,可以作数据库集群,主从复制,读写分离

qiumin的博客 1253

【MySQL】Mycat指南

mycat是Java语言开发的目前比较主流的数据库中间件之一,是mycat团队在阿里开源的 Cobar 产品基础上而研发的,也一直在维护。mycat实现了 MySQL 协议的服务器,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用 MySQL 原生协议与多个 MySQL 服务器通信,也可以用 JDBC 协议与大多数主流数据库服务器通信。 mycat不单只可以做MySQL的代理,它的后端可以支持MySQL、SQL Server、Oracle、DB2、Postgre

欢迎指错||纠正||建议||水评+点赞&&评论&&关注&&转发 6481
上一篇: mysql大数据:分区功能
下一篇: mysql中间件Mycat:配置2(读写分离)
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值