博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mycat在MySQL主从模式(1主1从)下读写分离和及自动切换模式的验证
阅读量:5931 次
发布时间:2019-06-19

本文共 1840 字,大约阅读时间需要 6 分钟。

hot3.png

博客迁移到:

实验环境

两台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('');

FLUSH PRIVILEGES;

之后用新的密码登录即可!

2:配置MYSQL主从,mysql配置文件内容修改如下图,主从的server_id一个为36,另外一个为37,此处必须保持不一致:

153426_dLJu_2439040.jpeg

153450_v2GT_2439040.jpeg

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;可验证主从关系是否建立完成,如下图:

153510_0d2J_2439040.jpeg

三:配置Mycat

1:逻辑库为myyangtest,逻辑表为:

153524_ioQ3_2439040.jpeg

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

153541_y1dm_2439040.jpeg

153552_kK6a_2439040.jpeg

153831_6HLn_2439040.jpeg

此处为1个dataHost;3个dataNode节点;

3:查看rule.xml配置文件如下图所示:

153858_ep6A_2439040.jpeg

153914_mLN5_2439040.jpeg

153951_AkI5_2439040.jpeg

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

154031_I16w_2439040.jpeg

5:启动Mycat,并且开启Mycat的日志的Debug模式,

./bin/mycat start

6:创建myyang表,并开始插入数据;

154048_0bxL_2439040.jpeg

154100_yIav_2439040.jpeg

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

 

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

154135_drRd_2439040.jpeg

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

154149_5z25_2439040.jpeg

由上图可以验证,查询的路由是发送到192.168.10.37(从服务器)完成的。

然后执行如下插入语句;

154200_HvH8_2439040.jpeg

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

154216_bKRV_2439040.jpeg

由上图可以看到插入语句的路由是发送到192.168.10.36(主服务器)完成的!

至此,可以验证Mycat的读写分离已经实现!

8:验证Mycat自动切换功能

修改schema.xml内容如下图所示:

154230_SAfs_2439040.jpeg

修改完成后重启mycat!

此时执行插入语句如下图:

154244_OQov_2439040.jpeg

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

154435_vo95_2439040.jpeg

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

154510_nB4N_2439040.jpeg

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

154525_1z18_2439040.jpeg

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

154536_RVj5_2439040.jpeg

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

154548_mgeI_2439040.jpeg

由此Mycat的自动切换功能验证成功!

转载于:https://my.oschina.net/skymyyang/blog/808361

你可能感兴趣的文章
Ceph:ceph-dash集群监控工具部署
查看>>
ss查看tcp链接数
查看>>
4、超链接和路径
查看>>
6、表格元素
查看>>
网站提示有风险?上海网站制作给你解决方案!
查看>>
阿里系网商银行获准开业 不设物理网点只服务长尾
查看>>
sync_inodes和sync_filesystems
查看>>
CUDA学习(五十六)
查看>>
项目中调试SQLServer 方便的查看SQL语句的执行时间的方法
查看>>
python并发编程之多线程编程(day9-day10)
查看>>
安装jumpserver
查看>>
centos7下mariadb 忘记密码处理方法
查看>>
Apache httpd 详解
查看>>
Hyper-V、SCVMM2012和XenDesktop 5.6桌面虚拟化运维之更新、添加和删除虚拟桌面
查看>>
openstack学习笔记十一 Nova
查看>>
希捷带来限量版纪念硬盘
查看>>
Unix整理笔记-超级无敌常用命令杂谈1-里程碑M6
查看>>
Docker的安装与启动
查看>>
zabbix使用Omsa来监控Dell服务器的硬件信息
查看>>
【CSS】【8】CSS盒子距离计算
查看>>