前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程
首先搭建mysql主从环境,及mycat安装
配置mycat的schema.xml文件

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/"><schema name="hbk" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema><dataNode name="dn1" dataHost="host1" database="hbk" /><dataHost name="host1" 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.37.101:3306" user="root"password="123456"><readHost host="hostS2" url="192.168.37.100:3306" user="root" password="123456" /></writeHost></dataHost>
</mycat:schema>

server.xml

<user name="mycat"><property name="password">123456</property><property name="schemas">hbk</property>
</user>

mycat所在机器,配置hosts文件

启动mycat
测试结果:
当从节点宕机,主节点正常时,mycat能正常查询,和写入数据库。
当主节点宕机,从节点正常时,mycat读取和写入都失败。


因为我们的schema.xml的blance设置的为0,即不开启读写分离机制。
我们把blance设置为1,重启mycat,重新测试,结论如下:
依然查询报错,网上的结论是能查询,但是不能写入,为啥会报这个错误,怎么解决???

mysql> select * from student;
ERROR 1184 (HY000): Invalid DataSource:0

我查看了下日志,有报错信息:

文档参考
balance和 switchType。其中,balance指的负载均衡类型,目前的取值有4种:

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”,所有读请求随机的分发到wiriterHost对应的readhost执行,writerHost不负担读压力。
switchType指的是切换的模式,目前的取值也有4种:
switchType=’-1’ 表示不自动切换;
switchType=‘1’ 默认值,表示自动切换;
switchType=‘2’ 基于MySQL主从同步的状态决定是否切换,心跳语句为 show slave status;
switchType='3’基于MySQL galary cluster的切换机制(适合集群)(1.4.1),心跳语句为 show status like ‘wsrep%’。

mycat读写分离实验相关推荐

  1. Mycat 读写分离、主从切换、分库分表的操作记录

    Mycat 读写分离.主从切换.分库分表的操作记录 系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等 ...

  2. Mycat读写分离、主从切换、分库分表的操作记录 https://www.cnblogs.com/kevingrace/p/9365840.html

    [此篇文章写得不错] 系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等都是系统发展迟早会遇到的技术问 ...

  3. Mycat 读写分离实战

    Mycat读写分离实战 一.主从复制搭建 1.实验环境 搭建一主一从的部署架构,master(主库)运行在阿里云服务器 47.108.136.201,slave(从库)运行在 IP 地址为 12.16 ...

  4. MyCat读写分离-笔记(四)

    概述 Mycat能够实现数据库读写分离,不能实现主从同步,数据库的备份还是基于数据库层面的.Mycat只是数据库的中间件: Mycat读写分离配置 在MySQL中间件出现之前,对于MySQL主从集群, ...

  5. mycat读写分离部署步骤

    1.下载mycat: https://raw.githubusercontent.com/MyCATApache/Mycat-download/master/1.5-RELEASE/Mycat-ser ...

  6. 应用 | 同学,该学MyCat实际应用案例与MyCat读写分离了

    Hi!我是小小,一个双鱼座的佛系程序猿,今日的blog将会写关于MyCat最后一点学习内容,读写分离,与MyCat实际应用案例和一个小小的例子. MyCat 读写分离 MyCat的读写分离是建立在My ...

  7. Mycat读写分离笔记Windows

    Mycat读写分离笔记Windows 自己搭了一个运用Mycat中间件搭建了一个读写分离的demo,昨晚还在奋战当中,因为连接mycat的时候老是报错:No Mycat DataBases selec ...

  8. mysql主从和mycat读写分离的安装及验证

    目录 一.背景介绍 二.安装mysql数据库(主从机器都需要先这样安装) 三.主从机配置 1.主服务器进行如下操作 2.从服务器进行如下操作 四.代理服务器安装和配置mycat读写分离 五.主从复制. ...

  9. MyCAT读写分离分库分表

    MyCAT读写分离及分库分表 第1章 MyCAT分布式系统解决方案 1.1 分布式系统介绍: 分布式系统特性: 1. 透明性: a) 分布式系统对用户来说是透明的,一个分布式系统在用户面前的表现就像一 ...

最新文章

  1. 2022-2028年中国塑料绳的制造行业市场现状调查及投资商机预测报告
  2. 知道了05后的隐藏技能之后,我酸了…​
  3. python模块手册_python模块说明
  4. ubuntu下解决oracle sqlplus不能查看历史命令问题
  5. 概率统计:第二章 随机变量及其分布
  6. php中隐藏和展开文章,手机端第一屏页面文章的展开和隐藏_html/css_WEB-ITnose
  7. JVM从入门到精通(十):垃圾回收算法串讲:CMS,G1,三色标记算法
  8. PWA(Progressive Web App)入门系列:Sync 后台同步
  9. [转] Silverlight Navigation(多页面切换、传值)
  10. MATLAB里sortrows是什么意思,Matlab中sortrows函数解析
  11. php多次登录失败,PHPCMS登录后台失败次数过多解决办法
  12. 好项目,不私藏!适用于单片机开发的开源轮子
  13. Android11.0 SystemUI 修改下拉菜单快捷键的图标
  14. 樊登读书会终身成长读后感_樊登读书会创始人演讲《知识爆炸时代如何终身成长》...
  15. CPU使用率的计算方法
  16. matlab nargin的意思
  17. 如何计算四个原子的二面角
  18. 青柠起始页——一言接口调用
  19. Ubuntu彻底卸载软件和清理磁盘空间
  20. AxureRP8的禁用与启用、移动

热门文章

  1. 使用cpxfiddle画图,例如phase,magnitude等
  2. node上 使用 fetch
  3. 金融财经知识——逆回购
  4. 启动和关闭ADB服务
  5. 腾讯云安全产品介绍第五章-业务安全产品天御
  6. Ubuntu 安装Mysql数据库
  7. 测试用例设计的两个基本方法
  8. 东北林业大学计算机学院复试题,2016年东北林业大学信息与计算机工程学院程序设计基础(同等学力加试)考研复试题库...
  9. 无线通信课程简答题答案,你能解释几个?
  10. 红包大战落下帷幕,QQ豪掷30亿之后小三位置有没有扶正?