【MySQL 实战】03. MySQL 主从复制(一主一从)
1. 原理
主动复制原理图:主库负责写,从库负责读,从库需要不断获取主库数据更新到从库。(存在延时)
我们知道主库添加数据是要写逻辑日志binlog,从库通过 I/O进程获取主库的binlog文件,然后写入到中转日志文件 Relay log,在从Relay log 中恢复数据。
2. 配置
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
查看服务器状态
主从服务器分别开启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;
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;
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 从服务器查看是否复制成功
如果停止复制,则执行 stop slave;
命令,如果重新配置主从 分别执行 stop slave;
和reset master;
本文地址:https://blog.csdn.net/fjxcsdn/article/details/107440700
上一篇: CentOS 7.5 初始网络配置
下一篇: 表单部分属性值
推荐阅读
-
找到一种不错的从SQLServer转成Mysql数据库的方法
-
深入浅析MySQL从删库到跑路_高级(一)——数据完整性
-
MySQL5.7.18主从复制搭建(一主一从)教程详解
-
MySQL从删库到跑路_高级(一)——数据完整性
-
MySQL 5.7传统复制到GTID在线切换(一主一从)
-
详解mysql集群:一主多从架构实现
-
Mysql 流增量写入 Hdfs(一) --从 mysql 到 kafka
-
【实战】如何通过html+css+mysql+php来快速的制作动态网页(以制作一个博客网站为列)
-
面试|简单描述MySQL中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面)
-
mysql 架构篇系列 4 复制架构一主一从搭建(半同步复制)