环境:Mariadb主:192.168.200.129

Mariadb从:192.168.200.114

Mycat    :192.168.200.112

(1)      安装jdk,先查看本机是否有jdk,由于Mycat是基于Java语言来编写的,所以需要安装JDK,版本为1.8即可。没有的话安装一下然后配置环境变量

[root@ns2 ~]# ls

jdk-8u191-linux-x64.tar.gz

[root@ns2 ~]# tar xf jdk-8u191-linux-x64.tar.gz   //解压

[root@ns2 ~]# mv jdk1.8.0_191  /usr/local/java   //我把它移动到了/usr/local下起名叫java

[root@ns2 ~]# vim /etc/profile     //配置环境变量

[root@ns2 ~]# source /etc/profile   //声明一下

[root@ns2 ~]# java -version

java version "1.8.0_191"

Java(TM) SE Runtime Environment (build 1.8.0_191-b12)

Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

(2)安装部署mycat

下载Mycat安装包,下载地址为http://dl.mycat.io/,选择linux环境的版本即可。

将Mycat安装包上传服务器后解压,解压后我把文件移动到了/usr/local下

现在已经将mycat部署好了,接下来修改mycat的配置文件。

(3)配置Mycat步骤

01、在主库和从库中分别创建用于Mycat连接的账号:

提供一个数据库内所有表的权限及创建的用户名和指定的主机与创建的用户密码:

02、配置Mycat的schema.xml文件,该文件位于Mycat中conf文件夹下:

schema 标签用于定义MyCat 实例中的逻辑库,MyCat 可以有多个逻辑库,每个逻辑库都有自己的相关配置。可以使用schema 标签来划分这些不同的逻辑库。

dataNode 标签定义了MyCat 中的数据节点,也就是我们通常说所的数据分片。一个dataNode 标签就是一个独立的数据分片。

dataHost标签直接定义了具体的数据库实例、读写分离配置和心跳语句。

balance属性

负载均衡类型,目前的取值有3 种:

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 不负担读压

力,注意balance=3 只在1.4 及其以后版本有,1.3 没有。

writeType 属性

writeType="0", 所有写操作发送到配置的第一个writeHost,第一个挂了后切换到还生存的第二个

writeHost,重新启动后已切换后的为准,切换记录在配置文件中:dnindex.properties .

writeType="1",所有写操作都随机的发送到配置的writeHost

指定数据库名称,指定负载均衡类型,指定主从服务器和工作端口及其创建的用户和密码

03、配置server.xml,即主要配置连接Mycat的用户账号信息:

账号配置

第一个user标签 :指定之前数据库创建的用户和密码和指定数据库名称

第二个user标签 :指定创建的用户和密码,连接测试使用。

然后启动服务

[root@ns2 mycat]# bin/mycat start

连接测试:

查看命令:show @@datasource;  //在管理端上查看。

测试:

mycat用户端:默认8066,可手动更改。用户是server.xml配置文件中配置的用户。

mycat管理端:默认9066,可手动更改,用户是server.xml配置文件中配置的用户。

查看:

当调用读接口时READ_LOAD的值对应在slave上会加1说明是走从库;

当调用写接口时WRITE_LOAD的值对就在master上会加1说明是走主库

Mariadb 基于Mycat实现读写分离的更多相关文章

  1. 基于Mycat实现读写分离

    随着应用的访问量并发量的增加,应用读写分离是很有必要的.当然应用要实现读写分离,首先数据库层要先做到主从配置,本人前一篇文章介绍了mysql数据库的主从配置方式即:<mysql数据库主从配置&g ...

  2. mysql主从之基于mycat实现读写分离

    一 环境 1.1 结构 192.168.132.125 mycat 192.168.132.121  master 192.168.132.122  slave 主从已经配置完成 1.2 安装myca ...

  3. mycat(读写分离、负载均衡、主从切换)

    博主本人平和谦逊,热爱学习,读者阅读过程中发现错误的地方,请帮忙指出,感激不尽 1.环境准备 1.1新增两台虚拟机 mycat01:192.168.247.81 mycat02:192.168.247 ...

  4. Mycat实现读写分离,主备热切换

    实验环境:ubutu server 14 Master IP:172.16.34.212 Slave IP:172.16.34.34.156 Mycat server IP:172.16.34.219 ...

  5. MySQL - MyCat 实现读写分离

    前言 MyCat是一个彻底开源的,面向企业应用开发的大数据库集群,支持事务.ACID.可以替代MySQL的加强版数据库.其功能有可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群.融 ...

  6. SpringBoot 整合 MyCat 实现读写分离

    MyCat一个彻底开源的,面向企业应用开发的大数据库集群.基于阿里开源的Cobar产品而研发.能满足数据库数据大量存储:提高了查询性能.文章介绍如何实现MyCat连接MySQL实现主从分离,并集成Sp ...

  7. Mycat的读写分离

    1. Mycat实现读写分离的部署: https://www.cnblogs.com/softidea/p/5447566.html springboot动态数据源的原理以及配置: Spring内置了 ...

  8. 搭建基于MySQL的读写分离工具Amoeba

    搭建基于MySQL的读写分离工具Amoeba: Amoeba工具是实现MySQL数据库读写分离的一个工具,前提是基于MySQL主从复制来实现的: 实验环境(虚拟机): 主机 角色 10.10.10.2 ...

  9. Mycat分布式数据库架构解决方案--Mycat实现读写分离

    echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 安装完 ...

随机推荐

  1. 反序列化JSON

    本人编程生涯刚刚起步,以下是个人理解,如果有些不对的地方,请各位在评论区指出,如果有更详细的博客也可以推荐给我. 首先要根据JSON创建一个实体类,并且要实现Serializable接口,再创建一个J ...

  2. Go从入门到放弃

    Go语言介绍 为什么你应该学习Go语言? 开发环境准备 从零开始搭建Go语言开发环境 VS Code配置Go语言开发环境 Go语言基础 Go语言基础之变量和常量 Go语言基础之基本数据类型 Go语言基 ...

  3. 026 模块3-random库的使用

    目录 一.random库基本介绍 1.1 random库概述 二.基本随机数函数 2.1 随机数种子 三.扩展随机数函数 3.1 随机数函数的使用 一.random库基本介绍 random库是使用随机 ...

  4. linux常用命令二

    linux常用命令一 常用指令 ls        显示文件或目录 -l           列出文件详细信息l(list) -a          列出当前目录下所有文件及目录,包括隐藏的a(all ...

  5. 关于格林尼治时间(GMT)和DateTime相互转换的分享

    普及一下什么是格林尼治时间? 世界时UT即格林尼治 平太阳时间,是指格林尼治所在地的标准时间,也是表示地球自转速率的一种形式.以地球自转为基础的时间计量系统.地球自转的角度可用地方子午线相对于地球上的 ...

  6. kubernetes部署jenkins(Docker in Docker)及认证

    引言 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件. 本文将Jenkins的master与slave置于Pod中,部署在namespace:jenk ...

  7. js中的几种继承方法

    JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一. 继承:子承父业:一个原本没有某些方法或属性的对象,统一写方法,拿到了另外一个对象的属性和方法 下面是js中的几种继承方式 1.改变this ...

  8. HTTP协议的运行流程

    1.HTTP协议的流程是什么样的呢? (1)http客户端发起请求,创建端口 (2)http服务器在端口监听客户端请求 (3)http服务器向客户端返回状态和内容 更详细的请参考大神:https:// ...

  9. Spring入门教程

    Spring新手入门教程,配套下面这两个大神的课程就可以了. 一个是Spring视频教程. 一个是Spring博客教程. https://www.imooc.com/learn/196 http:// ...

  10. Java设计模式 - 单例模式(创建型模式)

    单例模式我在上学期看一些资料时候学习过,没想到这学期的软件体系结构就有设计模式学习,不过看似篇幅不大,介绍得比较简单,在这里我总结下单例模式,一来整理之前的笔记,二来也算是预习复习课程了. 概述 单例 ...