1、这里是在mysql主从复制实现的基础上,利用mycat做读写分离,架构图如下:

2、Demo

2.1 在mysql master上创建数据库创建db1

2.2 在数据库db1创建表student

同时,因为配置好了mysql主从复制,在mysql slave上也有一样数据库和表

2.3 编辑 mycat的配置文件server.xml

     <!--表示mycat的登录用户名-->    <user name="test">               <!--表示mycat的登录密码--><property name="password">test</property>         <!--表示mycat的逻辑数据库名称,可以自定义--><property name="schemas">TESTDB</property></user><user name="user"><property name="password">user</property><property name="schemas">TESTDB</property><property name="readOnly">true</property></user>

2.4编辑mycat的配置文件schema.xml

<!--TESTDB表示mycat的逻辑数据库名称 当schema节点没有子节点table的时候,一定要有dataNode属性存在(指向mysql真实数据库),--><schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema><!--指定master的数据库db1--><dataNode name="dn1" dataHost="192.168.0.4" database="db1" /><!--指定mastet的ip --><dataHost name="192.168.0.4" maxCon="1000" minCon="10" balance="3"writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">                <!--表示mysql的心跳状态--><heartbeat>select user()</heartbeat><!-- master负责写 --><writeHost host="hostM1" url="192.168.0.4:3306" user="root"password="admin"><!--slave负责读--><readHost host="hostS2" url="192.168.0.5:3306" user="root" password="admin" /></writeHost>
</dataHost>

到这里,利用mycat做读写分离就已经配置完了

注意 dataHost节点的下面三个属性

balance, switchType, writeType

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

balance="1",全部的readHost与stand by writeHost参与select语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且M1与M2互为主备),正常情况下,M2,S1,S2都参与select语句的负载均衡。

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

balance="3",所有读请求随机的分发到writeHost下的readhost执行,writeHost不负担读压力

writeType表示写模式

writeType="0",所有的操作发送到配置的第一个writehost

writeType="1",随机发送到配置的所有writehost

writeType="2",不执行写操作

switchType指的是切换的模式,目前的取值也有4种:

switchType=‘-1‘ 表示不自动切换

switchType=‘1‘ 默认值,表示自动切换

switchType=‘2‘ 基于MySQL主从同步的状态决定是否切换,心跳语句为show slave status

switchType=‘3‘基于MySQL galary cluster的切换机制(适合集群)(1.4.1),心跳语句为show status like ‘wsrep%‘。

转载于:https://www.cnblogs.com/520playboy/p/6159751.html

利用mycat实现mysql数据库读写分离相关推荐

  1. Mycat原理详解,Mycat 实现 MySQL 的读写分离(Mysql主从复制)

    文章目录 1 Mycat 介绍 2 Mycat 安装 2.1下载安装JDK 2.2下载安装mycat 2.3启动和连接 3 Mycat 主要配置文件说明 4 利用 Mycat 实现 MySQL 的读写 ...

  2. mysql数据库字段变形_详解如何利用amoeba(变形虫)实现mysql数据库读写分离

    摘要:这篇MySQL栏目下的"详解如何利用amoeba(变形虫)实现mysql数据库读写分离",介绍的技术点是"MySQL数据库.数据库读写分离.amoeba.MySQL ...

  3. mybatis获取mysql源数据类型_spring集成mybatis实现mysql数据库读写分离

    前言 在网站的用户达到一定规模后,数据库因为负载压力过高而成为网站的瓶颈.幸运的是目前大部分的主流数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库的数据更新同步到另一台服务器上. ...

  4. mycat定时向mysql存储数据_【实战演练】Linux操作系统20-MyCat实现Mysql数据库读写分离与自动切换...

    #本文欢迎转载,转载请注明出处和作者. 理论部分,详见:繁星亮与鲍包包:[理论研究]业务系统高可用及负载均衡​zhuanlan.zhihu.com 本篇主要实现"8.Mysql读写分离&qu ...

  5. Python开发之:Django基于Docker实现Mysql数据库读写分离、集群、主从同步详解 | 原力计划...

    作者 | Pythonicc 责编 | 王晓曼 出品 | CSDN博客 简介 1.什么是数据库读写分离 读写分离,基本的原理是让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELET ...

  6. ceph集群和数据库到底是储存数据_Python开发之:Django基于Docker实现Mysql数据库读写分离、集群、主从同步详解 | 原力计划...

    作者 | Pythonicc责编 | 王晓曼出品 | CSDN博客简介1.什么是数据库读写分离读写分离,基本的原理是让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELETE),而从 ...

  7. Linux安装Mycat1.6.7.6实现Mysql数据库读写分离

    1.Mycat简介 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务.ACID.可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一个 ...

  8. yii2 mysql in_yii2 mysql数据库读写分离配置

    复制和读写分离(Replication and Read-Write Splitting) 许多数据库支持数据库复制来获得更好的数据库可用性, 以及更快的服务器响应时间.通过数据库复制功能, 数据从所 ...

  9. amoeba mysql exists_Amoeba实现MySQL数据库读写分离

    一 环境以及软件版本: 系统:CentOS Linux release 7.2.1511 (Core) MySQL:Server version: 5.6.33 Amoeba:amoeba-mysql ...

最新文章

  1. CVPR2020 | PV-RCNN: 3D目标检测
  2. java.net.uri,java.net.uri
  3. 20170819 - 今日技能封装 - A
  4. 对话王晶:音频人才亟待培养,高水平研究人员尤其欠缺
  5. 二,表格table的使用细节
  6. jquery easyUi的学习笔记{一头扎进EasyUI}
  7. mysql 5.1.69_CentOS 安装MySQL 5.1.69
  8. 大学计算机应用技术基础实践教程答案,【最新资料】大学计算机基础实践教程习题答案.doc...
  9. CSS 实现文字两端对齐
  10. Android开发中如何调用摄像头的功能
  11. Android studio 4.0 Layout Inspector查看当前Activity
  12. C语言题目练习100例——题目+题目分析+源代码(91—100)
  13. C语言打印输出图形(初版)
  14. (收藏)盘点阿里巴巴 15 款开发者工具
  15. 部署高校房屋管理系统可以实现哪些目标?
  16. 深入浅出TVS瞬态抑态二极管
  17. 2017年/2月/9日/美签B1/B2流程(供参考)
  18. 国际标准SHARE78七级灾难备份方案
  19. ChinaSoft 论坛巡礼 | 群智化软件测试技术和方法
  20. ViewPager套嵌RecyclerView出现滑动条目时滑不动原因

热门文章

  1. golang map使用总结
  2. VC++ CString互转double
  3. Centos7 安装pyhton3.7.4
  4. cmake,CMakeLists.txt,make,makefile的关系
  5. 20175213 2018-2019-2 《Java程序设计》第7周学习总结
  6. tyvj1467 通向聚会的道路
  7. 瞎学的几天 ----java多线程和线程池
  8. private-bower
  9. javascript耐人寻味
  10. 低学历的非要考研,多半输得更惨