尚硅谷mycat2主从复制

搭建一主一从
之前记得修改MySQL的UUID,我忘记了,主从复制的时候报错,具体问题看后面

一、搭建读写分离
我们通过Mycat.和MySQL 的主从复制配合搭建数据库的读写分离,实现MySQL 的高可用性。
我们将搭建:一主一从、双主双从两种读写分离模式。
一个主机用于处理所有写请求,一台从机负责所有读请求,架构图如下
在这里插入图片描述
在这里插入图片描述
binlog 日志三种格式
在这里插入图片描述

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

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

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

#从服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relay

因修改过配置文件,请主机+从机都重启后台mysql服务
主机从机都关闭防火墙

#重启mysql服务器
systemctl restart mysqld
#查看mysql的状态
systemctl status mysqld
#关闭防火墙
service firewalld stop
或者systemctl stop firewalld
#开启防火墙
service firewalld start
或者systemctl start firewalld
#查看防火墙的状态
systemctl status firewalld

在Master数据库创建数据同步用户,授予用户权限

#在主机MySQL里执行授权命令
CREATE USER 'slave1'@'%’ IDENTIFIED BY '123123;
GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'%';
#此语句必须执行。否则见下面。
ALTER USER 'slave1'@'%’ IDENTIFIED WITH mysql native password BY ’123123';

flush privileges;
#查询master的状态
show master status;
不要在master再改动position!!!!

在这里插入图片描述

mysql> show master status;
±-----------------±---------±-------------±--------------------------±------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
±-----------------±---------±-------------±--------------------------±------------------+
| mysql-bin.000001 | 686 | mycat1 | mysql,information_schemae | |
±-----------------±---------±-------------±--------------------------±------------------+
1 row in set (0.00 sec)
在从机上配置需要复制的主机

#复制主机的命令 具体数字与具体值和查询master的状态有关
CHANGE MASTER TO MASTER_HOST='主机的IP地址', 
MASTER_USER='slave' ,
MASTER_PASSWORD='123123' , 
MASTER_LOG_FILE='mysql-bin.具体数字',MASTER_LOG_POS='具体值';
#填写上图中的file、position字段
#启动从服务器复制功能
start slave; 
#查看从服务器状态
show slave status\G;

两个参数都是Yes,则说明主从配置成功!
在这里插入图片描述
change master to master_host=‘10.21.71.203’, master_user=‘slave1’, master_password=‘123456’, master_port=3306, master_log_file=‘mysql-bin.000001’, master_log_pos=686, master_connect_retry=30;
#启动从服务器复制功能
start slave;
#查看从服务器状态
show slave status\G;

报错

ERROR:
No query specified
修改
\G后不用加分号,否则就会出现此类错误。
show slave status\G

报错
Slave_IO_Running: No
修改
https://blog.csdn.net/qq_54217349/article/details/126501053

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

⑩停止从机,重启主机
从机:stop slave;
主机:reset master;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值