mysql 主从 推 拉_【MySQL 实战】03. MySQL 主从复制(一主一从)

1. 原理

主动复制原理图:主库负责写,从库负责读,从库需要不断获取主库数据更新到从库。(存在延时)

我们知道主库添加数据是要写逻辑日志binlog,从库通过 I/O进程获取主库的binlog文件,然后写入到中转日志文件 Relay log,在从Relay log 中恢复数据。

a62a376111fa83769729dbb593c4eb42.png

2. 配置

f4f004c1009504be68571476cc9c2507.png

134 主服务器配置,首先修改 mysql 配置文件 vi /etc/my.cnf

#主服务器唯一ID

server-id=1

#启用二进制日志

log-bin=mysql-bin

# 设置不要复制的数据库(可设置多个)

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

设置需要复制的数据库,从库是从接入点开始复制的,主从架构未搭建完成前如果创建数据库,导致搭建好以后备库没有,执行SQL语句就会出现问题,所以在搭建主从复制架构以后,再次执行创建库的语句

binlog-do-db=testdb

#设置logbin格式,日志格式有三种,分别是 satement,row,mined,后面博客中我会详解这三种格式的优缺点

binlog_format=STATEMENT

133 从服务器配置,修改 mysql 配置文件 vi /etc/my.cnf

#从服务器唯一ID

server-id=2

#启用中转日志

relay-log=mysql-relay

主从配置文件生效,重启主从服务器,执行 systemctl restart mysqld命令,并通过命令systemctl status mysqld 查看服务器状态

5850455ea35966977f9474176874650e.png

主从服务器分别开启3306端口,并关闭防火墙

# 查看防火墙状态

systemctl status firewalld

# 开启防火墙

systemctl start firewalld

# 开启3306端口

firewall-cmd --permanent --zone=public --add-port=3306/tcp

# 重新加载防火墙

firewall-cmd --reload

# 查看防火墙是否启动成功

firewall-cmd --zone=public --query-port=3306/tcp

# 关闭防火墙

systemctl stop firewalld

在134 主服务器授予133 从服务器访问权限

# 登陆134 mysql

mysql -uroot -proot

# 执行授权命令

GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';

# 查询master的状态

show master status;

3f4bcc21cd1ed4c00bedf6295722dcd6.png

133 从机复制134 主机,登陆从机 mysql 执行复制命令

# 停止从服务器复制功能

stop slave;

# 重置主从

reset master;

执行复制命令,命令的参数是我们上图获取到的master 信息

CHANGE MASTER TO MASTER_HOST='192.168.183.134',

MASTER_USER='slave',

MASTER_PASSWORD='123456',

MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=154;

分别执行 启动复制命令start slave; 和查看服务器状态命令 show slave status\G;

ccf519758cddc32192f88c316e3c9f20.png

3. 测试

134 主服务器创建 testdb 数据库,创建表 user ,并执行插入语句

CREATE DATABASE testdb;

use testdb;

CREATE TABLE user(id INT,NAME VARCHAR(20));

INSERT INTO user VALUES(1,'fengjiaixng');

select * from user;

133 从服务器查看是否复制成功

36183f1c658fe0c0fce3cfcb7aa15b35.png

如果停止复制,则执行 stop slave;命令,如果重新配置主从 分别执行 stop slave;和reset master;

本文地址:https://blog.csdn.net/fjxcsdn/article/details/107440700

希望与广大网友互动??

点此进行留言吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值