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(‘[email protected]‘);

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的自动切换功能验证成功!

时间: 07-04

Mycat在MySQL主从模式(1主1从)下读写分离和及自动切换模式的验证的相关文章

2-18,19 搭建MySQL主从服务器并并通过mysql-proxy实现读写分离

MySQL主从服务器 实现方式: MySQL  REPLICATION Replication可以实现将数据从一台数据库服务器(master)复制到一台或多台数据库服务器(slave) 默认情况下这种情况属于异步复制,无需维持长连接 通过配置,可以复制所有库或者几个库,甚至库中的一些表 它是MySQL内建的,自带 Replication的原理 主服务器master将数据库的改变写入二进制日志文件,从服务器slave同步这些二进制日志,并生成中继日志,从服务器根据中继日志,执行这些改变 DML:S

mysql主从(基于bin-log)以及mysql-proxy读写分离

准备好三台机器: 192.168.220.129(master) 192.168.220.143(slave) 192.168.220.144(proxy) 确保三台机器上mysql(5.6.29)都已装好 my.cnf配置 master: [mysqld1]basedir = /usr/localmysqldatadir = /data/mysqlport = 3306server_id=1socket = /tmp/mysql.socklog-bin=mysql-bin slave: [my

mysql的主从复制(二)mysql-proxy实现读写分离

安装前准备(三台虚拟机): 主机1: 172.16.24.77   安装msyql服务器端  mysql-proxy 主机2: 172.16.24.88    安装mysql服务器端(mysql主) 主机3: 172.16.24.99   安装mysql服务器端(mysql从) (注,我这里的三台主机都是安装好了mysql的,如里你没有安装请参照前面的博客有安装过程) 一.安装mysql-proxy 所需安装包(mysql-proxy-0.8.3-linux-glibc2.3-x86-64bit

mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离

主要思路 测试环境 实现mysql主备复制 配置A主mysql 配置B备mysql 验证同步配置结果 验证是否同步 关闭B备mysql的同步,验证读写分离 实现读写分离 安装mycat 配置mycat 启动mycat 测试读写分离 验证是否同步 关闭B备mysql的同步,验证读写分离 数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了常用的读写分离方式,

MariaDB 10 (MySQL DB) 多主复制并实现读写分离

MMM 即Master-Master Replication Manager for MySQL(mysql主主复制管理器)关于mysql主主复制配置的监控.故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写 入),这个套件也能对居于标准的主从配置的任意数量的从服务器进行读负载均衡,所以你可以用它来在一组居于复制的服务器启动虚拟ip,除此之外,它还有实 现数据备份.节点之间重新同步功能的脚本.MySQL本身没有提供replication failover的解决方案,通过MMM方

mysql+myca搭建稳定高可用集群,负载均衡,主备复制,读写分离

数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了常用的读写分离方式,推荐mycat,社区活跃,性能稳定. 测试环境 MYSQL版本:Server version: 5.5.53,到官网可以下载WINDWOS安装包. 注意:确保mysql版本为5.5以后,以前版本主备同步配置方式不同. linux实现思路类似,修改my.cnf即可. A主mysql.19

DataGuard failover dg role自动切换模式测试

1,在脚本中代入create db flash backup point for recover dg 2,测试前主备库状态(备库现角色验证,主库监听状态-->有意stop) 主要验证思路, 脚本从备库对dg主库连接性做测试,若主库连接性有问题(监听,网络,.....),自动切换备库角色到主库角色; 执行验证测试脚本过程 验证角色自动切换结果(我们在测试前已经刻意停止了dg主库中的监听及db Service) 部分代码 主库状态监测脚本 根据主库状态监测脚本获取的数据,执行dg主备的自动切断 <

MySQL主从

mysql主从--1 [[email protected] ~]# rm -rf /usr/local/mysql         (删除之前安装的MySQL) [[email protected] ~]# cd /usr/local/src/ [[email protected] src]# wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz [[email protected]

MyCAT部署及实现读写分离(转)

MyCAT是mysql中间件,前身是阿里大名鼎鼎的Cobar,Cobar在开源了一段时间后,不了了之.于是MyCAT扛起了这面大旗,在大数据时代,其重要性愈发彰显.这篇文章主要是MyCAT的入门部署. 一.安装java 因Mycat是用java开发的,所以需要在实验环境下安装java,官方建议jdk1.7及以上版本 Java Oracle官方下载地址为: http://www.oracle.com/technetwork/java/javase/archive-139210.html 解压jdk

MySQL ProxySQL读写分离使用初探

目的 在美团点评DBProxy读写分离使用说明文章中已经说明了使用目的,本文介绍ProxySQL的使用方法以及和DBProxy的性能差异.具体的介绍可以看官网的相关说明,并且这个中间件也是percona推的一款中间件.其特性和其他读写分离的中间件差距不大,具体的会在文中介绍.本文大致简单的介绍在使用过程中的一些说明,也可以看官方的wiki获得使用帮助. 环境:  Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.