Mariadb 基于Mycat实现读写分离
环境: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实现读写分离的更多相关文章
- 基于Mycat实现读写分离
随着应用的访问量并发量的增加,应用读写分离是很有必要的.当然应用要实现读写分离,首先数据库层要先做到主从配置,本人前一篇文章介绍了mysql数据库的主从配置方式即:<mysql数据库主从配置&g ...
- mysql主从之基于mycat实现读写分离
一 环境 1.1 结构 192.168.132.125 mycat 192.168.132.121 master 192.168.132.122 slave 主从已经配置完成 1.2 安装myca ...
- mycat(读写分离、负载均衡、主从切换)
博主本人平和谦逊,热爱学习,读者阅读过程中发现错误的地方,请帮忙指出,感激不尽 1.环境准备 1.1新增两台虚拟机 mycat01:192.168.247.81 mycat02:192.168.247 ...
- Mycat实现读写分离,主备热切换
实验环境:ubutu server 14 Master IP:172.16.34.212 Slave IP:172.16.34.34.156 Mycat server IP:172.16.34.219 ...
- MySQL - MyCat 实现读写分离
前言 MyCat是一个彻底开源的,面向企业应用开发的大数据库集群,支持事务.ACID.可以替代MySQL的加强版数据库.其功能有可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群.融 ...
- SpringBoot 整合 MyCat 实现读写分离
MyCat一个彻底开源的,面向企业应用开发的大数据库集群.基于阿里开源的Cobar产品而研发.能满足数据库数据大量存储:提高了查询性能.文章介绍如何实现MyCat连接MySQL实现主从分离,并集成Sp ...
- Mycat的读写分离
1. Mycat实现读写分离的部署: https://www.cnblogs.com/softidea/p/5447566.html springboot动态数据源的原理以及配置: Spring内置了 ...
- 搭建基于MySQL的读写分离工具Amoeba
搭建基于MySQL的读写分离工具Amoeba: Amoeba工具是实现MySQL数据库读写分离的一个工具,前提是基于MySQL主从复制来实现的: 实验环境(虚拟机): 主机 角色 10.10.10.2 ...
- Mycat分布式数据库架构解决方案--Mycat实现读写分离
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 安装完 ...
随机推荐
- DataReader转换
public static partial class Extension { private static ConcurrentDictionary<Type, ConcurrentDicti ...
- 高可用的K8S集群部署方案
涉及到的内容 LVS HAProxy Harbor etcd Kubernetes (Master Worker) 整体拓补图 以上是最小生产可用的整体拓补图(相关节点根据需要进行增加,但不能减少) ...
- Java基础(一)-- Java对字符串操作大全
一.Java字符串类基本概念 在JAVA语言中,字符串数据实际上由String类所实现的.Java字符串类分为两类:一类是在程序中不会被改变长度的不变字符串:二类是在程序中会被改变长度的可变字符串.J ...
- 小白专场-树的同构-c语言实现.md
目录 一.题意理解 二.求解思路 2.1 二叉树表示 2.2 程序框架搭建 2.3 如何建二叉树 2.4 如何判别两二叉树同构 更新.更全的<数据结构与算法>的更新网站,更有python. ...
- 一篇RPO漏洞挖掘文章翻译加深理解。
这是我第一次尝试翻译一篇漏洞挖掘文章,翻译它也是为了加深理解它.这是一篇很有意思的漏洞挖掘文章. 前几天在看fd的博客,偶然看到了这篇文章,虽然有点老了.但是思路真的牛皮.我决定花费时间和精力研究它们 ...
- idea报错 Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource
核对一下控制器是不是写了相同的路径...org.springframework.beans.factory.BeanCreationException: Error creating bean wit ...
- 无法安装64位office,因为您的PC上有32位
场景:安装visio2013时,突然报以下错误 解决方案: 1. 单击开始--所有程序--附件--运行,在运行输入“regedit“ 2. 弹出注册表编辑器窗口,选择HKEY_CLASSES_ROOT ...
- 关于纯xmlhttprequest请求服务器数据
今天我们的web技术已经相当的完善, 各种前端框架如jquery或者再深一点的工具APIcloud 的使用极大的方便了我们的开发工作. 今天我要分享一个纯javascript的方式来解决请求服务器数据 ...
- 基于Arduino和Blynk平台的远程控制智能小车
/------转载请附上本文链接 https://i.cnblogs.com/EditArticles.aspx?opt=1 -------啦啦啦我是快乐的分割线- ------------/ 小车图 ...
- Scala函数式编程(三) scala集合和函数
前情提要: scala函数式编程(二) scala基础语法介绍 scala函数式编程(二) scala基础语法介绍 前面已经稍微介绍了scala的常用语法以及面向对象的一些简要知识,这次是补充上一章的 ...