首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >mysql实现主从复制的日志是哪种_Redis主从复制

mysql实现主从复制的日志是哪种_Redis主从复制

作者头像
全栈程序员站长
发布2022-09-22 20:47:18
发布2022-09-22 20:47:18
4570
举报

大家好,又见面了,我是你们的朋友全栈君。

目录

前言

Mysql主从同步,要求需要先搭建至少两个mysql实例,一主一从,使用推荐Docker搭建Mysql《Docker部署安装Mysql》

1、原理

mysql主(称master)从(称slave)复制的原理:

  • master将数据改变记录到二进制日志(binary log)中,也就是配置文件log-bin指定的文件(这些记录叫做二进制日志事件,binary log events)
  • slave将master的binary log events拷贝到它的中继日志(relay log)
  • slave重做中继日志中的事件,将改变反映它自己的数据(数据重演)

主从配置需要注意的地方:

  • 主DB server和从DB server数据库的版本一致
  • 主DB server和从DB server数据库数据一致
  • 主DB server开启二进制日志,主DB server和从DB server的server_id都必须唯一

2、数据库搭建

事先搭建好两个数据库,分别为端口3306、3307,并且分别创建数据库test; 数据库的容器名称分别为;mysql-3306、mysql-3307;

3、主库搭建配置

主数据库使用docker搭建,端口为3306

1、修改配置文件:

在搭建好基础Mysql以后,修改配置文件,在原有基础上加入如下内容:

代码语言:javascript
复制
[mysqld]
server-id=1  #服务id,不可重复
log-bin=mysql-bin  #开启二进制日志,设置路径
#是否只读,1 代表只读, 0 代表读写
read-only=0
#需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行(先建好库),不指定则同步整个数据源
binlog-do-db=test
#不同步系统数据库
binlog-ignore-db=mysql
binlog-ignore-db=sys
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema

2、重启数据库:

代码语言:javascript
复制
docker restart mysql-3306

4、从库搭建配置

主数据库使用docker搭建,端口为3306

1、修改配置文件: 在搭建好基础Mysql以后,修改配置文件,在原有基础上加入如下内容:

代码语言:javascript
复制
[mysqld]
#服务id,不可重复
server-id=2 
# 开启二进制日志
log-bin=mysql-bin

2、重启数据库:

代码语言:javascript
复制
docker restart mysql-3307

3、获取master相关信息:

在3306端口的主库执行:SHOW MASTER STATUS;查看新的主库信息,结果如下:

4、从库连接主库配置:

连接语句:

代码语言:javascript
复制
-- 从库SQL语句:
CHANGE MASTER TO 
master_host='162.10.1.35', #主库所在地址
master_user='root', -- 前面主库设置的用户、密码
master_password='123456', 
master_port=3306, -- 主库端口
master_log_file='mysql-bin.000001',  -- 前面主库的File信息
master_log_pos=157; -- 前面主库的Position信息 

启动同步语句:

代码语言:javascript
复制
-- 启动同步 SQL语句: stop:停止,reset:重启
start slave; 

5、从库状态检测:

检测语句:

代码语言:javascript
复制
show slave status;

效果:

注意: 当Slave_IO_Running 和 Slave_SQL_Running: 均为YES 标识则表示主从同步启动成功;

6、其他操作事项:

查看server相关的配置项:

代码语言:javascript
复制
SHOW GLOBAL VARIABLES LIKE 'server%';

停止主从复制:

代码语言:javascript
复制
stop slave;

重新配置主从:

代码语言:javascript
复制
# 重新配置主从流程,先停止,再重置从库连接主库配置
stop slave;
reset master;
再根据主库信息进行从库配置(SHOW  MASTER STATUS;)

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170334.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 前言
  • 1、原理
  • 2、数据库搭建
  • 3、主库搭建配置
  • 4、从库搭建配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档