Mysql主从备份

news2024/9/21 19:02:51

主从复制概述

将主服务器的binlog日志复制到从服务器上执行一遍,达到主从数据的一致状态,称之为主从复制。一句话表示就是,主数据库做什么,从数据库就跟着做什么。

为什么要使用主从复制

为实现服务器负载均衡/读写分离做铺垫,提升访问速度
常规的读/写比例为10:1左右
主库主负责写和部分读,从库主负责读

通过复制实现数据的异地备份,保障数据安全
从库定期从主库上复制数据
提高数据库系统的可用性

主库宕机后,从库临时取代主库,只提供读操作
主库宕机后,从库永久取代主课,提供读写操作

主从复制原理

1.主从复制的前提
至少两个实例
不同的server_id
库开启二进制日志
主库需要授权一个专用复制用户
主库数据备份
开启专用复制线程

2.主从复制相关专业术语
文件
主库:binlog

从库:
relay-log,中继日志,存储主库传过来的binlog事件
master.info,主库信息,存储授权用户信息,及上次请求到的主库binlog的位置点
relay-log.info,中继日志应用信息

线程
主库:Dump_Thread,给库传送(TP)二进制日志线程

从库:
IO_Tread,从库IO线程,请求和接收binlog
SQL_Tread,从库的SQL线程

主从复制部署

环境:
db01    10.0.0.51 		mysql5.7 	主
db02	10.0.0.54		mysql5.7	从

配置步骤:
[master]
1.编写配置文件,添加主从必须的配置
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/app/mysql
datadir=/data/mysql/data
log_error=/data/mysql/data/mysql.log
log_bin=/data/mysql/binlog/mysql-bin
server_id=6
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock

2.重启mysqld,让配置生效
systemctl restart mysqld

3.使用mysqldump全备主库数据
mysqldump -AR --triggers --single-transaction --master-data=2 > /tmp/master.sql

4.创建授权主从复制的用户
grant replication slave on *.* to 'repl'@'10.0.0.54' identified by '123';

5.将全备文件拷贝到从库上
scp /tmp/master.sql 10.0.0.54:/tmp/

[slave]
1.编写配置文件,添加主从必须的配置
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/app/mysql
datadir=/data/mysql/data
log_error=/data/mysql/data/mysql.log
log_bin=/data/mysql/binlog/mysql-bin
server_id=7
port=3306
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock

2.重启mysqld,让配置生效
systemctl restart mysqld

3.导入主的全备
#1.登录
mysql 

#2.临时关闭binlog
set sql_log_bin=0;

#3.导入全备
source /tmp/master.sql;

4.查看position及对应的binlog文件
awk "NR==22" /tmp/master.sql

5.配置主库信息
CHANGE MASTER TO
  MASTER_HOST='10.0.0.51',
  MASTER_USER='repl',
  MASTER_PASSWORD='123',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='mysql-bin.000003',
  MASTER_LOG_POS=4602;

6.启动从库
start slave;

7.查看从库状态
show slave status\G

怎么修改UUID
1.生成随机的UUID
mysql> select UUID();

2.修改
vim /data/mysql/data/auto.cnf 
[auto]
server-uuid=97320a42-b07c-11ee-a6a9-000c29a73a2c

延时从库

普通的主从复制可能存在不足
1)逻辑损坏怎么办?
2)不能保证主库的操作,从库一定能做
3)高可用?自动failover?
4)过滤复制
一般会延时3-6小时 延时从库配置方法

延时从库的配置
#停止主从
mysql>stop slave;
#设置延时为180秒
mysql>CHANGE MASTER TO MASTER_DELAY = 180;
#开启主从
mysql>start slave;
#查看状态
mysql> show slave status \G
SQL_Delay: 60
3.延时从库停止方法
#停止主从
mysql> stop slave;
#设置延时为0
mysql> CHANGE MASTER TO MASTER_DELAY = 0;
#开启主从
mysql> start slave;

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

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

相关文章

队列的结构概念和实现

文章目录 一、队列的结构和概念二、队列的实现三、队列的实现函数四、队列的思维导图 一、队列的结构和概念 什么是队列? 队列就是只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 如上图所示&#x…

Ansible的playbook的编写和解析

目录 什么是playbook Ansible 的脚本 --- playbook 剧本 实例部署(使用playbook安装启动httpd服务) 1.编写一个.yaml文件 在主机下载安装http,将配置文件复制到opt目录下 运行playbook 在192.168.17.77主机上查看httpd服务是否成功开启…

BY组态功能清单

演示地址 :http://www.byzt.net:60/sm/ 官网地址:http://www.hcy-soft.com BY组态是一款非常优秀的纯前端的【web组态插件工具】,可无缝嵌入到vue项目,react项目等,由于是原生js开发,对于前端的集成没有框架…

vue2 引入阿里图标库iconfont

有时候我们使用的 ui 里面图标是不够丰富的,不一定可以满足我们的需求。 这时我们可以引入阿里图标库来丰富自己的项目图标。 上步骤: 1、点击文字地址连接: iconfont-阿里巴巴矢量图标库 2、登录,没有账号需要先使用手机号注册…

【Java题】调整奇数位于偶数之前(超简单版)

题目: 调整数组顺序使得奇数位于偶数之前。调整之后,不关心大小顺序。 如数组:[1,2,3,4,5,6,7,8,9] 调整后可能是:[1, 9,3,7,5, 6, 4, 8, 2] 代码: import java.util.Arrays;public class Main {public static voi…

MySQL存储引擎及索引机制

MySQL技术——存储引擎和索引机制 一、存储引擎概述二、常见存储引擎的区别三、索引机制四、索引的底层实现原理五、InnoDB主键和二级索引六、聚集索引和非聚集索引七、哈希索引八、InnoDB的自适应哈希索引九、索引常见问题十、慢查询日志总结 一、存储引擎概述 插件式存储引擎…

b站小土堆pytorch学习记录——P7-P8 Tensorboard的使用

文章目录 一、前置知识1.Tensorboard是什么2.SummaryWriter3.add_scalar()4.add_image() 二、代码1.一次函数2.蚂蚁和蜜蜂图片 一、前置知识 1.Tensorboard是什么 TensorBoard 是 TensorFlow 的可视化工具,它允许开发者可视化模型的图(graph&#xff0…

一线互联网大厂中高级Android面试真题收录,记一次字节跳动Android社招面试

在开始回答前,先简单概括性地说说Linux现有的所有进程间IPC方式: 1. **管道:**在创建时分配一个page大小的内存,缓存区大小比较有限; 2. 消息队列:信息复制两次,额外的CPU消耗;不合…

驱动高级--mknod

一、起源 仅devfs,导致开发不方便以及一些功能难以支持: 热插拔 不支持一些针对所有设备的统一操作(如电源管理) 不能自动mknod 用户查看不了设备信息 设备信息硬编码,导致驱动代码通用性差,即没有分离…

【Python】成功解决ValueError: not enough values to unpack (expected 2, got 1)

【Python】成功解决ValueError: not enough values to unpack (expected 2, got 1) 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&am…

本科毕业设计:计及并网依赖性的分布式能源系统优化研究。(C语言实现)(内包含NSGA II优化算法)(二)

目录 前言 1、sofc函数 2、光伏板函数 3、集热场函数 4、sofc电跟随策略函数 5、二分法找sofc运行点函数 6、目标函数:成本 7、目标函数:二氧化碳排放量 8、目标函数:并网依赖性 前言 本篇文章介绍的是我的毕业设计,我将C…

【前端素材】推荐优质后台管理系统Annex平台模板(附源码)

一、需求分析 1、系统定义 后台管理系统是一种用于管理网站、应用程序或系统的管理界面,通常由管理员和工作人员使用。它提供了访问和控制网站或应用程序后台功能的工具和界面,使其能够管理用户、内容、数据和其他各种功能。 2、功能需求 后台管理系…

基于java+springboot动物检疫信息管理系统设计和实现

基于java SSM springboot动物检疫信息管理系统设计和实现 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文…

3d模型版本转换器注意事项---模大狮模型网

在使用3D模型版本转换器时,有一些注意事项可以帮助您顺利完成模型转换并避免不必要的问题: 数据完整性:在进行模型转换之前,确保您的原始3D模型文件没有损坏或缺失数据。损坏的文件可能导致转换器无法正常处理或输出错误的结果。 …

公钥密码体制

公钥密码体制 一个系统中,n个用户之间要进行保密通信,为了确保安全性,两两用户之间的密钥不能一样。这种方式下,需要系统提供C2 n=n(n-1)/2把共享密钥。这样密钥的数量就大幅增加了,随之而来的产生、存储、分配、管理密钥的成本也大幅增加。而使用公钥密码体制可以大大减…

[unity] c# 扩展知识点其一 【个人复习笔记/有不足之处欢迎斧正/侵删】

.NET 微软的.Net既不是编程语言也不是框架,是类似于互联网时代、次时代、21世纪、信息时代之类的宣传口号,是一整套技术体系的统称,或者说是微软提供的技术平台的代号. 1.跨语言 只要是面向.NET平台的编程语言(C#、VB、 C、 F#等等),用其中一种语言编写…

基于JavaWeb实现的药店管理系统

一、系统架构 前端:jsp | layui | jquery | css 后端:spring | springmvn | mybatis 环境:jdk1.8 | mysql 二、代码及数据库 三、功能介绍 01. 登录 02. 首页 03. 药品管理 04. 销售管理-销售记录管理 05. 销售管理-退…

Day07:基础入门-抓包技术全局协议封包监听网卡模式APP小程序PC应用

目录 非HTTP/HTTPS协议抓包工具 WireShark 科来网络分析系统 WPE封包 思维导图 章节知识点: 应用架构:Web/APP/云应用/三方服务/负载均衡等 安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令:文件上传下载/端口服务/Sh…

【YOLO v5 v7 v8 小目标改进】BiFormer:从局部空间特征到高效的全局空间特征

BiFormer:从局部空间特征到高效的全局空间特征 提出背景BiFormer 结构 小目标涨点YOLO v5 魔改YOLO v7 魔改YOLO v8 魔改 提出背景 论文:https://arxiv.org/pdf/2303.08810.pdf 代码:https://github.com/rayleizhu/BiFormer 问题: 传统的卷…

c++面试三 -- 智能指针--7000字

一、智能指针 C 中的智能指针是一种用于管理动态分配的内存的对象,它们可以自动进行内存管理,避免内存泄漏和悬挂指针等问题。 1. 悬挂指针 悬挂指针(dangling pointer)是指在程序中仍然存在但已经不再指向有效内存地址的指针。悬…