Mycat实现MySQL数据库的读写分离笔记

一、需求分析

为了缓解数据库访问压力及稳定,我们让主数据库(master)处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库(slave)处理SELECT查询操作。

二、准备条件

1.主从MySQL的安装、权限及远程访问等可参考
centos系统下安装mysql数据库
2.完成Mycat的安装及基本配置可参考
数据库的中间件 —Mycat 的准备工作
3.完成数据库一主一从及主从复制配置工作可参考
Mysql数据库搭建简单的主从复制(一主一从)

三、开始搭建

1.修改mycat/config/schema.xml配置文件中修改< dataHost >的balance属性,通过此属性配置读写分离的类型
在这里插入图片描述
2.为了方便查看效果,我们选择:balance=“2”,在项目中,可选2 或 4,详情参考

负载均衡类型,目前的取值有4种:
1.balance="0",不开启读写分离机制,所有读操作都发送到当前可用的writeHost上。

2.balance="1",【双主双从】在双主双从模式(M1-S1,M2-S2,并且M1与M2互为主备),正常情况下,M2,S1,S2都参与select语句的负载均衡

3.balance="2",所有读写操作都随机的在readHost,writeHost上分发。

4.balance="3",【单主单从】所有读请求随机的分发到readHost执行,writeHost不负担读压力。
四、测试

1.在主库(A) 的数据库的tb_contact 表中新增一条数据

insert into tb_contact VALUES(3,@@hostname,'987654321')

注意:

hostname - 用来显示或者设置当前系统的主机名,主机名被许多网络程序使用,来标识主机。

2.在主库和从库中分别可以查到

select * from tb_contact;

在这里插入图片描述
在这里插入图片描述
3.将修改完的Mycat 进行重启,并查询

1.重启

cd /usr/local/mycat/bin
./mycat restart

2.登录Mycat (内网:127.0.0.1)

mysql -umycat -p123456 -h 127.0.0.1 -P 8066

3.查询

mysql> use TESTDB;
mysql> show tables;
mysql> select * from tb_contact;

注意:多次执行==select * from tb_contact;==即可看到效果。

如有不当之处,还请多多指教

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值