Mycat在MySQL主从模式(1主1从)下读写分离和及自动切换模式的验证
实验环境
两台Centos7 MySQL5.7.12 IP地址为:192.168.10.36 192.168.10.37
一台Centos7 Mycat IP地址为:192.168.10.31
一:安装mysql,如下图所示(这里采用yum安装):

二:配置MYSQL,以及建立MYSQL主从
1:初始化密码,由于我没在/root目录下找到第一次启动的随机密码,所以我只能用如下操作
vi /etc/my.cnf
mysqd 字段添加 #skip-grant-tables
然后重启mysql systemctl restart mysqld 这个时候没有密码也能进去;执行下面这一条语句:
update mysql.user set authentication_string=password(123456) where user='root' and Host = 'localhost';
此时重启mysql后,注释掉刚刚添加的那个字段,systemctl restart mysqld 会告诉你的密码不符合复杂程度要求,需要再次更改;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('1234@Mfg');
FLUSH PRIVILEGES;
之后用新的密码登录即可!
2:配置MYSQL主从,mysql配置文件内容修改如下图,主从的server_id一个为36,另外一个为37,此处必须保持不一致:


3:执行如下命令,使其建立主从关系,192.168.10.37为192.168.10.36的Slave
在192.168.10.36上执行:
grant replication slave on *.* to 'sync'@'192.168.10.37' identified by 'sync';
在192.168.10.37上执行:
change master to master_host='192.168.10.36', master_user='repluser',master_password='replpass', master_auto_position=1;(此处使用的是GTID多线程复制)
start slave;
此时使用show slave status\G;可验证主从关系是否建立完成,如下图:

三:配置Mycat
1:逻辑库为myyangtest,逻辑表为:

2:查看schema.xml配置文件如下图所示:



此处为1个dataHost;3个dataNode节点;
3:查看rule.xml配置文件如下图所示:



4:查看server.xml配置文件内容,主要内容如下图所示:

5:启动Mycat,并且开启Mycat的日志的Debug模式,
./bin/mycat start
6:创建myyang表,并开始插入数据;


7:首先验证Mycat读写分离,由此先将balance 设置为3,writetype设置为0,先注释掉第二个writeHost。


先执行如下查询语句,获取此条结果后,

然后打开mycat logs目录下的mycat.log文件,可以看到如下内容;

由上图可以验证,查询的路由是发送到192.168.10.37(从服务器)完成的。
然后执行如下插入语句;

然后再次打开mycat logs目录下的mycat.log文件,可以看到如下内容;

由上图可以看到插入语句的路由是发送到192.168.10.36(主服务器)完成的!
至此,可以验证Mycat的读写分离已经实现!
8:验证Mycat自动切换功能
修改schema.xml内容如下图所示:

修改完成后重启mycat!
此时执行插入语句如下图:

再次打开日志文件,可以看到(如下图)插入语句还是在192.168.10.36(主服务器)上执行;

此时我们将192.168.10.36的mysql服务给关闭!,文件会打印报错信息,如下图所示;

此时我们再此执行一条插入语句:

再次打开日志文件,如下图所示:

由此可以看出,此时插入语句是路由到192.168.10.37(从服务器)完成的!另外我们也可以登陆到192.168.10.37的mysql的db_test3库中进行验证(如下图):

由此Mycat的自动切换功能验证成功!
Mycat在MySQL主从模式(1主1从)下读写分离和及自动切换模式的验证的更多相关文章
- Mycat对MySQL进行垂直水平分表分库,读写分离
1. MyCAT概述 1.1 背景 随着传统的数据库技术日趋成熟.计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上.这时集中式数据库系统表现出它的不足: (1)集中 ...
- 2-18,19 搭建MySQL主从服务器并并通过mysql-proxy实现读写分离
MySQL主从服务器 实现方式: MySQL REPLICATION Replication可以实现将数据从一台数据库服务器(master)复制到一台或多台数据库服务器(slave) 默认情况下这种 ...
- mysql 主从master-slave同步复制 配置,为读写分离准备
1.为方便,我在一个windows下安装两个mysql实例,端口分别是 3306.3307 打开 my.ini 或 my-default.ini 文件 配置 basedir datadir 和port ...
- mysql主从怎么样使主为innodb辅为myisam
MySQL主从复制(linux主+windows从) http://blog.csdn.net/qq_20032995/article/details/54380290 mysql主从怎么样使主为in ...
- atlas+mysql主主集群实现读写分离
atlas+mysql主主集群实现读写分离 前言: 目前线上系统数据库采用的是主主架构.其中一台主仅在故障时切换使用,(仅单台服务器对外提供服务,当一台出现问题,切换至另一台).该结构很难支撑较大并 ...
- Mycat实现Mysql主从读写分离
一.概述 关于Mycat的原理网上有很多,这里不再详述,对于我来说Mycat的功能主要有如下几种: 1.Mysql主从的读写分离 2.Mysql大表分片 3.其他数据库例如Oracle,MSSQL,D ...
- mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离
数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了 ...
- Mysql主从备份、主主备份
简单介绍mysql双机,多机异地热备简单原理实战. 双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步.对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致. 这样做 ...
- MariaDB 10 (MySQL DB) 多主复制并实现读写分离
----本文大纲 简介 资源配置 拓扑图 实现过程 ==================== 一.简介 MMM 即Master-Master Replication Manager for MySQL ...
随机推荐
- C# Ajax 返回json数据--前后台交互
本人实习生一枚,遇到这个问题,网上找的试了试基本可以,自己搞了一下.可以供新手参考,大神如有指点,请不吝赐教. 版权声明:本文为博主原创文章,未经博主允许不得转载. 前台JavaScript代码: & ...
- Java经典编程题50道之十二
企业发放的奖金根据利润提成:利润(I)低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10万元的部分按10%提成, 高于10万元的部分 ,可提成7.5%:20万到40万之间 ...
- Python教程(2.2)——数据类型与变量
和C/C++.Java一样,Python也有数据类型和变量两个概念. 数据类型 Python中的几个基本数据类型为整数(integer/int).浮点数(float/float).布尔值(boolea ...
- Java对【JSON数据的解析】--Gson解析法
Gson和fastjson分别为谷歌和阿里巴巴对JSON数据进行处理封装的jar包 两者异同点: 相同点:都是根据JSON数据创建相应的类 不同点: 1.调用方式区别 谷歌:方法都是非静态的,需要先创 ...
- Java经典编程题50道之二十六
请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母. public class Example26 { public static void main(Stri ...
- Spring+SpringMVC+MyBatis深入学习及搭建(七)——MyBatis延迟加载
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6953005.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(六)——My ...
- 一个web应用的诞生(13)--冲向云端
有句话叫所有的乐趣都在部署之前,也许这个小应用还有很多缺陷,也许它还不够完美,但是,仔细想想,其实没有什么能比自己的网站在互联网中上线更令人满足的了,但是满足的背后,总是存在着很多的风险,以至于几乎所 ...
- 判断客户端使用的是安卓还是苹果,然后加载对应的css文件
<script type="text/javascript" charset="utf-8"> var browser = { versions: ...
- 电脑上的windows键突然失灵了,肿么办
windows经常会用到,或许平时感觉不出异常来,偶尔用一次的时候,去发现失灵了,肿么办? 如果只是单纯的弹出开始菜单来,可以按Ctrl+Esc,功能是一样的. 这种情况其实是windows被禁用了, ...
- XManager5连接CentOS7
XManager5连接CentOS6的方法已经行不通了,那么如何用XManager5连接CentOS7 从Xmanger官网博客得知: "Gnome in CentOS 7 tries to ...