Mysql主从复制

本文详细介绍了MySQL主从复制的原理及M-S-S模型的部署步骤,包括修改主机名、配置数据库权限、设置配置文件、数据迁移以及在各节点上的授权和验证等过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

REPLICATION的原理

简单的说就是master将数据库的改变写入二进制日志,slave同步这些二进制日志,并根据这些二进制日志进行数据操作
在这里插入图片描述
DML:SQL操作语句,update, insert,delete
Relay log :中继日志

部署Mysql主从复制 (M-S-S模型)

1.三台主机修改主机名

 hostnamectl set-hostname 主机名
bash

2.在master上授用户,创建库和表
进入mysql,输入以下命令

grant replication slave on *.* to repl@'192.168.100.%' identified by '123456';
create database ml;
use ml;
create table asd(id int,name varchar(20));

3.修改配置文件,重启mysql

vim /etc/my.cnf
**server-id=1
binlog-do-db=HA
log-bin=mysql-bin-master
binlog-ignore-db=mysql
sync-binlog=1
binlog-format=row**

在这里插入图片描述

systemctl restart mysqld           ##重启

4,导出库完整备份,复制到中继和slave上

mysqldump -uroot -B ml>ml.sql
scp ml.sql 192.168.100.20:/root
scp ml.sql 192.168.100.30:/root

5,换到中继服务器上,导入数据库ml.sql,在修改配置文件重启mysql

mysql -uroot < ml.sql 
vim /etc/my.cnf

添加以下

server-id=2
log-slave-updates=1
log-bin=mysql-bin-slave1
Systemctl restart mysqld #重启

6.授权,查看状态

Mysql
Stop slave;
change master to master_host='192.168.100.10',master_user='repl',master_password='123456';
Start slave;
show slave status \G   #查看状态,结果是两个yes才是对

在这里插入图片描述
7.在中继再授权一个用户给slave2
grant replication slave on . to ‘repl’@‘192.168.100.%’ identified by ‘123456’;
8.在slave2上配置
mysql -uroot < ml.sql 导入数据库
vim /etc/my.cnf 修改配置文添加以下

 server-id = 3
log-bin=mysql-bin-slave2  
binlog-format=row
Systemctl restart mysqld   #重启mysql

9.指定中继服务作为slave2的主

Mysql   #进入mysql
Stop slave;
change master to master_host='192.168.100.20',master_user='repl',master_password='123456';
Start slave;
Show slave status\G  #查看状态

在这里插入图片描述
10,测试,在主上插入数据,在中继和slave2上查看

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
到这里实验就结束了,做的不好请谅解,如果有问题请小伙伴们留言鸭~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值