Mysql DBA学习笔记(主从复制) - 实践

news/2025/10/1 15:04:14/文章来源:https://www.cnblogs.com/slgkaifa/p/19122450

Mysql DBA学习笔记(主从复制) - 实践

一、核心概念

主从复制指:将主数据库的DDL和DML语句通过二进制日志(Binlog)传到从库服务器中,然后在从库上面对这些日志再重新执行一遍,从而使从库和主库的信息保持同步,从而达成数据转移读写分离数据备份

Mysql的主从复制是一个异步的复制过程。

mysql中,支持一台主库同时向多台从库进行复制,从库也可以同时作为其他从服务器的主库,从而达成链状复制。

二、原理

步骤:
1、2)主库进行增删改运行 / 执行DDL语句时,将所有内容变更记录到二进制日志中。
3)从库的IO线程发出请求读取主库的binlog日志。
4、5)从库的IO线程会将主库的binlog日志写到从库自己的relay log中继日志中。
6、7)从库的另一个sql thread线程读取relay log日志中记录的数据变化,并同步到从库自己数据库的数据变化。

注:二进制日志不记录select这种查询语句,二进制日志默认的ROW日志格式记录的是每行的数据变更。

三、主从复制的搭建

1)服务器准备

  • 主库:192.168.200.200
  • 从库:192.168.200.201
  • Mysql版本:8.0及以上版本

两台服务器都开放指定3306端口号:

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

firewall-cmd -reload

2)主库设置

  • 修改主库配置文件

vim /etc/my.cnf

# mysql 服务ID,保证在整个集群环境中它是唯一,默认为1

server-id=1

# 是否只读,1 代表只读,0 代表读写

read-only=0

# 开启二进制日志

log-bin=mysql-bin

-- 二选一

# 设置应该同步的数据库

binlog-do-db=db01

# 设置不需要同步的数据库

binlog-ignore-db=mysql(忽略系统库)

  • 重启mysql服务

systemctl restart mysqld

  • 创建复制用户

# 创建账户,作用:授予从库连接主库并读取二进制日志

# 创建用户和密码,使用户能从任意主机上连接mysql服务

create user 'user1'@'%' identified by 'password'通过(这里'%'代表任意主机,也能够指定特定主机'192.168....‘’)

# 给用户分配主从复制权限

grant replication slave on *.* to 'user1'@'%'

# 查看主库状态

show master status

File :最终写入哪个二进制日志记录
Position :写入位置

3)从库配置

  • 修改从库配置文件

vim /etc/my.cnf

唯一,默认为1,就是# mysql 服务ID,保证在整个集群环境中它从库与主库不一样即可

server-id=2

# 是否只读,1 代表只读,0 代表读写,从库只需要查询不需要写入

read-only=1

# 开启relay log中继日志

relay-log=mysql-relay

  • 重启mysql服务

systemctl restart mysqld

  • 调整主从关系

change replication source to
source_host='xxx.xxx',
source_user='xxx',
source_password='xxx',
source_log_file='xxx',
source_log_pos=xxx;

8.0.23之前的版本:

change master to
master_host='192.168.200.200',

master_user='user1',

master_password='password',

master_log_file='xxx',-- 使用show master status 查看到"File"对应的值

master_log_pos=xxx;-- 使用show master status 查看到"Position"对应的值

  • 开启同步

start replica; -- 8.0.22之后

start slave; -- 8.0.22之前

  • 查看主从同步状态

show replica status\G; -- 8.0.22之后

show slave status\G; -- 8.0.22之前

(其中 "\G" 表示将数据列转化为行表明)

  • 验证主从同步

主要看:

Replica_IO_Running

Replica_SQL_Running

是否都正常

4)同步失败处理

-- 查看错误信息

show slave status\G

-- 解决方案

1. 跳过错误

set global SQL_SLAVE_SKIP_COUNTER = 1;

start slave;

2. 重置从库

stop slave;

reset slave;

start slave;

参考作者/文章:
黑马程序员 - Mysql数据库从入门到精通
博客园 - https://www.cnblogs.com/it-feiyu/p/18630316

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923960.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站中文章内图片做超链接wordpress微信登录页面模板

日志只有这一行,比较难排查 排查途径: 1、从上图找到唯一的文件输出output.js,断点查看堆栈信息,如下图,可以看到这个错误是由于哪个文件引起的 以为从App.vue中定位到原因了,其实也不对,继续…

百度注册网站网站字体大小合适

文章目录 Redis主从部署1.下载安装Redis2.单点双副本主从配置1.修改配置信息2.修改配置文件redis.conf3.拷贝配置文件到每一个实例文件夹里4.修改每一个实例的端口和工作目录5.配置主从关系6.检查效果 3.哨兵模式监控主从1.创建实例目录2.复制配置文件并进行修改3.启动并测试 4…

2025双氧水厂家权威推荐榜:优质供应与专业定制实力之选

2025双氧水厂家权威推荐榜:优质供应与专业定制实力之选 在当今精细化工与工业制造领域,双氧水作为重要的基础化学品,其品质稳定性和供应专业性直接影响着下游产业的生产效率与产品质量。随着环保要求的日益严格和应…

Win环境下包管理工具

目录1 Win下包管理工具1.1 简介1.2 winget1.2.1 简介1.2.2 操作使用1.2.3 安装指定盘1.2.4 软件源来源&加速1.2.4.1 软件源1.2.4.2 加速1.3 Scoop1.3.1 简介1.3.2 操作&安装1.3.3 常用命令1.3.4 软件源来源&am…

那个公司做网站制作图

基站即公用移动通信基站,是无线电台站的一种形式,是指在一定的无线电覆盖区中,通过移动通信交换中心,与移动电话终端之间进行信息传递的无线电收发信电台。 目前,在 5G时代 ,“ 宏基站 为主, 小…

VRNN论文总结 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

西安市做网站公司网站设计的内容有哪些

一、项目介绍 系统管理员的功能概述: ①用户管理 a.注册用户账户 当一个新用户注册时,用户填写基本信息并上传。用户基本信息包括账号、 姓名、密码、手机、地址等信息。 b.用户信息管理 管理员可以查看系统所有用户的基本信息,并修改和…

清华建设工程有限公司公司网站wordpress the date

服务器和电脑传文件夹吗 内容精选换一换Model File:模型文件。单击右侧的文件夹图标,在后台服务器sample所在路径(工程目录/run/out/test_data/resnet-18/model)选择需要转化的模型对应的*.prototxt文件,并上传。Weight File:权重文件。请自行从https://…

网页标准化对网站开发维护的好处文化网站建设需要的功能

优美的应用体验 来自于细节的处理,更源自于码农的自我要求与努力,当然也需要码农年轻灵活的思维。本文章实现的Demo效果,如下图所示:class HeroHomePage extends StatefulWidget { override _TestPageState createState() > …

深入解析:Social-Auto-Upload - 多平台社交媒体视频自动化上传工具

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

MX Round 11 解题报告

MX Round 11 解题报告 T1 水题,直接枚举计算即可。 T2 场切了,很爽!!! 因为操作是可以被覆盖的,所以考虑倒序考虑操作:一个位置一旦有了数,就再也不会变了。 然后我们考虑:有数的位置一定是一段连续的区间。这…

用 C# 打造企业资产管理系统雏形——从控制台到完整模块设计 - 详解

用 C# 打造企业资产管理系统雏形——从控制台到完整模块设计 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &quo…

青岛网站设计流程做网站的说3年3年包括什么

大家好,我是 🐟💨。前天,星球 的一位大学生朋友问了我几个问题:你大学时如何安排每日的时间?为什么能学那么多技术?你会学习到很晚吗?你是如何保持自律的?我觉得这几个问…

html5 网站设计网站模板 山

申请该结构体数组,容量为5,初始化5个学生的信息 使用fprintf将数组中的5个学生信息,保存到文件中去 下一次程序运行的时候,使用fscanf,将文件中的5个学生信息,写入(加载)到数组中去,并直接输出学…

java开发之微信机器人的二次开发

java开发之微信机器人的二次开发个微API服务能处理用户微信中的各种事件,并辅助微信执行各种操作,提供了开发者与个人号对接的能力,是一款基于微信提供的个人号开放性API,使用简单,操作快捷,支持多种微信方式接入…

10.1刷题计划一

力扣33题 搜索旋转排序数组 设x=nums[mid]是我们现在二分取到的数,需要判断x和target的位置关系。 (1)如果x和target在不同的递增段: 1.如果target在第一段,x在第二段,说明target在x在左边。 2.如果x在第一段,…

实用指南:渗透测试入门:从网络抓包到Web安全基础

实用指南:渗透测试入门:从网络抓包到Web安全基础2025-10-01 14:38 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; displ…

笔记本电脑重装系统后找不到5G WIFI无线网或蓝牙模块消失的解决方案

问题描述:笔记本电脑,重装系统后,蓝牙模块消失,且无线网显示不了5G校园网WIFI 问题解决: 电脑品牌网站下载更新驱动(如我的是联想服务官网https://newsupport.lenovo.com.cn/driveDownloads_index.html)1 查询并…

网站建设实施规范青岛市网页设计公司

🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 🔆 OpenCV项目地址及源代码:点击这里 文章目录 图像模糊操作均值滤波高斯滤波中值滤波双边滤波 图像模糊操作 关于图片的噪声:指的是图片中存在的不必要或者多余的干扰数…