(保姆级)Mycat搭建读写分离

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: (保姆级)Mycat搭建读写分离

前言

上一篇文章《Mysql搭建主从复制功能》,提督分享了搭建mysql数据库主从复制的功能,现在,咱们在这个功能上实现Mycat的读写分离操作。

一、读写分离是什么?

示例:读写分离 是基于mysql数据库主从复制实现的一个功能,该功能让主数据库处理事务性增、改、删操作,从数据库处理查询操作。它是Mycat的一个重要功能之一,保证了一个数据库宕机,系统还可以从另一个数据库获取数据。保证了数据的安全和系统的稳定。

2018122814580746.png

二、使用步骤

1.修改Mycat的配置文件(schema.xml)修改完:wq保存

代码如下:

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
    <!--代表数据库的一个配置 与server.xml中的数据库对应 -->
        <schema name="TESTDB" checkSQLschema="false" dataNode="db_node" sqlMaxLimit="100">
        </schema>
        <!--分片配置-->
        <dataNode name="db_node" dataHost="db_host" database="test" />
        <!--物理数据库的配置 balance:0 所有的读操作给master 1:给slave 2:随机分配-->
        <dataHost name="db_host" maxCon="1000" minCon="10" balance="1"
                        writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="hostM1" url="192.168.66.138:3350" user="root" passwor="******">
                        <readHost host="hostS1" url="192.168.66.138:3360" user="root" passwor="******" />
                </writeHost>
        </dataHost>
</mycat:schema>

2.片段代码解释

<schema name="TESTDB" checkSQLschema="false" dataNode="db_node" sqlMaxLimit="100"></schema>

参数:

       schema:逻辑库名字

       sqlMaxLimit:一次取多少条数据

       table:逻辑表

       dataNode:数据节点,对应datanode标签

       rule:分片规则,对象rule.xml配置文件

       primaryKey:分片主键,可缓存

#分片配置
<dataNode name="db_node" dataHost="db_host" database="test" />

参数:

       name:分片名字

       dataHost:分片主机

       database:分片数据库

#配置读写分离
<dataHost name="db_host" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql"                   dbDriver="native" switchType="1" slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="hostM1" url="192.168.66.138:3350" user="root" passwor="******">
         <readHost host="hostS1" url="192.168.66.138:3360" user="root" passwor="******" />
                </writeHost>
        </dataHost>

参数:

       dataHost:数据主机(节点主机)

       dbType:数据库驱动  native:MySQL JDBC: oracle SQLServer

       switchType: 是否主动读 1

       #Balance参数设置:

       1 balance=“0”, 所有读操作都发送到当前可⽤的writeHost上。

       2 balance=“1”,所有读操作都随机的发送到readHost。

       3 balance=“2”,所有读操作都随机的在writeHost、readhost上分发

       #WriteType参数设置:

       1 writeType=“0”, 所有写操作都发送到可⽤的writeHost上。

       2 writeType=“1”,所有写操作都随机的发送到readHost。

       3 writeType=“2”,所有写操作都随机的在writeHost、readhost分上发。

       #switchType参数设置:

       1 switchType="1", 主从自动切换

       2 switchType="2",从机延时超过slaveThreshold值时切换为主读

3.启动mycat

mycat restart

总结

对此,mycat搭建一主一从的读写分离就完成了。

眼睛看,脑子会,一动手就报废,小伙伴赶紧动起手来吧。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
SQL 关系型数据库 MySQL
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
434 0
|
4月前
|
SQL 关系型数据库 MySQL
Mycat【Mycat高级特性_搭建双主双从、Mycat分片技术_垂直拆分-分库 】(四)-全面详解(学习总结---从入门到深化)
Mycat【Mycat高级特性_搭建双主双从、Mycat分片技术_垂直拆分-分库 】(四)-全面详解(学习总结---从入门到深化)
71 0
|
1月前
|
存储 监控 NoSQL
震撼!揭秘高可用 MongoDB 分片集群搭建的神秘魔法,开启数据存储的无敌模式!
【8月更文挑战第9天】在数字化时代,数据至关重要。MongoDB作为流行非关系型数据库,通过搭建高可用分片集群确保系统稳定性和性能。分片技术将大数据集分布于多服务器以实现水平扩展。搭建集群需准备服务器资源,配置环境,启动配置服务器、路由服务器及分片服务器,并设置分片策略。例如,对特定数据库和集合启用分片。此架构适用于高流量应用如大型电商平台,确保数据高效处理和高可用性。搭建过程需持续监控和优化,合理规划分片策略以维持系统稳定运行。
29 3
|
4月前
|
中间件 关系型数据库 MySQL
【中间件】mycat读写分离分析
【中间件】mycat读写分离分析
49 0
|
4月前
|
算法 关系型数据库 MySQL
三高Mysql - 搭建“三高”架构之扩展与切换
三高Mysql - 搭建“三高”架构之扩展与切换
86 0
|
XML SQL 负载均衡
MyCat - 高级 - 读写分离 - 一主一从读写分离配置 | 学习笔记
快速学习MyCat - 高级 - 读写分离 - 一主一从读写分离配置
472 0
MyCat - 高级 - 读写分离 - 一主一从读写分离配置 | 学习笔记
|
11月前
|
网络协议 关系型数据库 MySQL
服务搭建篇(三) 主从Mysql搭建 , 保姆级教程 ,包看包会
而如果要保证数据能够实时同步,对于MySQL,通常就要用到他自身提供的一套通过Binlog日志在多个MySQL服务之间进行同步的集群方案。基于这种集群方案,一方面可以提高数据的安全性,另外也可以以此为基础,提供读写分离、故障转移
44 0
|
SQL 负载均衡 关系型数据库
MySQL主从复制的原理与实操+mycat2读写分离
MySQL主从复制的原理与实操+mycat2读写分离
221 0
|
关系型数据库 MySQL 中间件
Mycat中间件综合部署高可用-读写分离-分库分表(1.6)
Mycat中间件综合部署高可用-读写分离-分库分表(1.6)
122 0
|
存储 cobar NoSQL
开源数据库中间件-MyCat初探与分片实践
一个新颖的数据库中间件产品支持mysql集群,或者mariadb cluster,提供高可用性数据分片集群。
201 2
开源数据库中间件-MyCat初探与分片实践