mycat主从复制配置

三、搭建读写分离

我们通过 Mycat 和 MySQL 的主从复制配合搭建数据库的读写分离,实现 MySQL 的高可用性。
我们将搭建:一主一从、双主双从两种读写分离模式

1.搭建一主一从

一个主机用于处理所有写请求,一台从机负责所有读请求,架构图如下
在这里插入图片描述

1.1、 搭建 MySQL 数据库主从复制

① MySQL 主从复制原理

在这里插入图片描述

② 主机配置(host79)

修改配置文件:vim /etc/my.cnf

#主服务器唯一ID
server-id=1
#启用二进制日志
log-bin=mysql-bin
#设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql binlog-ignore-db=information_schema
#设置需要复制的数据库
binlog-do-db=需要复制的主数据库名字
#设置logbin格式
binlog_format=STATEMENT

binlog 日志三种格式
在这里插入图片描述

③ 从机配置(host80)

修改配置文件:vim /etc/my.cnf
#从服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relay

④重启服务

⑤连接数据库在主机建立账户并授权

#在主机MySQL里执行授权命令
GRANT REPLICATION SLAVE ON . TO ‘slave’@’%’ IDENTIFIED BY ‘789123’;

⑥查看主机状态

show master status;
±-----------------±---------±-------------±-------------------------±------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
±-----------------±---------±-------------±-------------------------±------------------+
| mysql-bin.000001 | 764 | mystudent | mysql,information_schema | |
±-----------------±---------±-------------±-------------------------±------------------+

记录file 和Position

⑦从机创建备机创建从主机地址用户名密码和开始复制的地方:

CHANGE MASTER TO MASTER_HOST=‘192.168.119.131’,
MASTER_USER=‘slave’, MASTER_PASSWORD=‘789123’,
MASTER_LOG_FILE=‘mysql-bin.000001’,MASTER_LOG_POS=764;

⑧启动从机

start slave;
查看从机状态:
Show slave status;(两个yes则配置好了)
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

⑨测试

1.主机创建配置的复制的库(create database mystudent)
2.创建表(ctreate table student…)
3.插入数据(insert into student values(…)…)
4.从机中查看库和表能有主机创建的数据。

⑩停止从机,重启主机

Stop salve;
Reset master;

1.2 修改 Mycat 的配置文件 schema.xml

1.2.1设置主从复制的库

#### ②修改的balance属性,通过此属性配置读写分离的类型 select user() ## 负载均衡类型,目前的取值有4 种:

(1)balance=“0”, 不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。
(2)balance=“1”,全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡,简单的说,#当双主双从 模式(M1->S1,M2->S2,并且 M1 与 M2 互为主备),正常情况下,M2,S1,S2都参与 select #语句的负载均衡。
(3)balance=“2”,所有读操作都随机的在 writeHost、readhost
上分发。
(4)balance=“3”,所有读请求随机的分发到 readhost 执行,writerHost 不负担读压力

③插入数据

insert into student1 values(‘5’,@@hostname); #设置不一样的主机名详情请看:
#https://blog.csdn.net/qq_32077121/article/details/103754110,这样主从表就不一样了

④启动mycat,查看表中数据,会发现随机读主机和从机的数据不一样。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z J X

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值