当前位置: 首页 > news >正文

怎么样在MySQL上使用备份恢复

1.数据库服务备份恢复操作

物理备份数据方式
#	拷贝数据库数据目录信息,实现物理备份(冷备)步骤一:停止数据库服务
/etc/init.d/mysqld stop步骤二:将数据库目录进行拷贝/压缩
cp -a /data/3306/data /backup/data-2026-03-05步骤三:模拟数据库损坏
drop database oldboy;
drop database school;
drop database xiaoA;步骤四:修复数据库中数据
/etc/init.d/mysqld stop
vim /etc/my.cnf
[mysqld]
datadir=加载备份数据目录信息
/etc/init.d/mysqld startrm -rf /data/3307/data/*
cp -a /backup/data-2026-03-05/* /data/3307/data
/etc/init.d/mysqld start
利用物理备份工具备份数据,实现物理热备(热备)(Xtrabackup)
物理备份工具链接:https://www.percona.com/downloads/
应用物理备份工具需要关注版本信息:
xbk	8.4版本	完成数据库备份		mysql 8.4以上版本进行备份		
xbk	8.0版本	完成数据库备份		mysql 8.0以上版本进行备份
xbk	2.4版本	完成数据库备份		mysql 8.0以下版本进行备份部署xbk工具并应用:
步骤一:解压安装部署备份工具
cd /usr/local/
tar xf percona-xtrabackup-8.0.35-34-Linux-x86_64.glibc2.28.tar.gz
ln -s percona-xtrabackup-8.0.35-34-Linux-x86_64.glibc2.28 xbk
vim /etc/profile
export PATH='$PATH:/usr/local/xbk/bin'
source /etc/profile步骤二:应用备份工具备份数据
实现数据库数据物理备份
mkdir -p /backup/xbk/{full,inc01} 
-- 一定确认好以上创建备份目录是空目录
xtrabackup --defaults-file=/data/3307/my80.cnf --host=10.0.0.51 --port=3307 --user=root --password=123456  --backup  --target-dir=/backup/xbk/full
成功备份后,会显示以下信息
[Note] [MY-011825] [Xtrabackup] completed OK!--defaults-file   -- 备份工具进行备份数据时,需要加载备份数据库实例配置文件(配置文件存储默认路径,参数可省略)
--backup          -- 实现数据库数据备份操作  
--target-dir      -- 将原有数据库数据目录信息备份到指定路径中模拟数据库数据异常
drop database oldboy;
drop database school;
drop database xiaoA;停止数据库服务运行
/etc/init.d/mysqld stop
rm -rf /data/3307/data/*
rm -rf /data/3307/logs/* 完成数据修复过程
xtrabackup --prepare --target-dir=/backup/xbk/full
内存数据恢复成功:[Note] [MY-011825] [Xtrabackup] completed OK!
-- 表示加载备份数据信息,实现将原有数据库服务内存中数据恢复xtrabackup --defaults-file=/data/3307/my80.cnf --copy-back --target-dir=/backup/xbk/full
磁盘数据恢复成功:[Note] [MY-011825] [Xtrabackup] completed OK!
chown -R mysql.mysql /data/3307/data
chown -R mysql.mysql /data/3307/log/
-- 表示加载备份数据信息,实现将原有数据库服务磁盘中数据恢复(恢复原有数据目录中数据文件)/etc/init.d/mysqld start

实现数据库数据物理备份

实现数据库数据物理备份(全量+增量)rm -rf /backup/xbk/{full,inc01}/*步骤一:完成第一全量备份
xtrabackup --defaults-file=/data/3307/my80.cnf --host=10.0.0.51 --port=3307 --user=root --password=123456  --backup --parallel=4 --target-dir=/backup/xbk/full --parallel   利用此参数可以设置备份过程xbk进程对应线程信息,可以提高备份数据效率步骤二:模拟进行增量数据创建
create database xkb;
create table t1 (id int,name char(10));
insert into t1 values (1,'xiaoA'),(2,'xiaoB');步骤三:进行第一次增量备份
xtrabackup --defaults-file=/data/3307/my80.cnf --host=10.0.0.51 --port=3307 --user=root --password=123456 --backup --parallel=4 --target-dir=/backup/xbk/inc01  --incremental-basedir=/backup/xbk/full --incremental-basedir  表示用于做数据信息变化对比,将此目录中数据作为对比对象(LSN),从而识别增量数据扩展说明:如果还想进行第二次增量备份,如何执行备份操作
xtrabackup --defaults-file=/data/3307/my80.cnf --host=10.0.0.51 --port=3307 --user=root --password=123456 --backup --parallel=4 --target-dir=/backup/xbk/inc02  --incremental-basedir=/backup/xbk/inc01  步骤四:模拟数据损坏
drop database oldboy;
drop database game;
drop database xkb;完成数据修复过程(全量+增量)
步骤五:完成数据恢复操作
pkill mysqld
rm -rf /backup/data-2026-03-05/*
rm -rf /data/3307/log/*xtrabackup --prepare  --apply-log-only  --target-dir=/backup/xbk/full
-- 加载全量目录中数据信息
xtrabackup --prepare  --apply-log-only  --target-dir=/backup/xbk/full --incremental-dir=/backup/xbk/inc01
--apply-log-only   简单理解:表示可以将全量和增量数据有效整合,保证内存中数据恢复完整
-- 将增量数据信息和全量数据信息合并整合xtrabackup --prepare  --target-dir=/backup/xbk/full
-- 将内存中数据进行恢复
xtrabackup --defaults-file=/data/3307/my80.cnf --copy-back  --target-dir=/backup/xbk/full
-- 将磁盘中数据进行恢复chown -R mysql.mysql /backup/data-2026-03-05/
chown -R mysql.mysql /data/3307/log/步骤六:重新启动数据库服务检查数据信息
show databases;

2.数据库服务架构环境部署

(1).实现数据库主从同步架构

作用01:可以实现数据信息实时备份保存
作用02:可以实现高可用架构部署 
作用03:可以实现负载均衡架构部署

(2).实现数据库主从同步原理❗️❗️❗️

两种方法介绍:##########		1.详细说明		##########
根据主从同步操作流程:
01.需要在主库中进行全量备份数据和创建主从同步用户
02.在从库中加载全量备份数据,然后再将主库中增量数据做同步处理
03.在从库中进行主从功能配置连接主库配置:地址配置		端口配置	 用户信息	 密码信息同步数据配置:配置需要加载binlog文件信息		加载位置点信息change master to ......
04.将配置信息会自动保存到数据库master.info文件中
05.启动主从同步功能		start slave;主从功能启动成功,会在从库出现两个线程IO线程;加载master.info文件信息,和主库建立连接SQl线程:空闲
06.主库接收IO线程连接请求后,会创建主库线程mysql dump:和从库IO线程对接,维持主从会话/监控binlog日志信息,将信息发送给IO线程
07.从库接收主库binlog日志信息IO线程:将接收到的binlog日志信息保存到relaylog日志中(中继日志)在master.info文件中做binlog文件或位置点信息修改SQl线程:读取relaylog日志信息,并将日志信息中的事务语句进行执行将relaylog日志信息读取的位置点,进行保存到relaylog.info文件中##########		2.简单介绍		##########
根据主从同步会应用进程和文件做介绍实现主从同步原理需要应用三个线程和四个文件
#	------三个线程------
IO线程:	实现主从之间建立连接会话负责接收binlog日志事务信息/负责接收需要同步事务语句信息,会存储信息到中继日志负责修改master.info文件中同步位置点信息SQl线程:	读取中继日志中事务语句信息,会将语句信息在从库执行负责修改relaylog.info文件中已经回放事务信息的位置点dump线程:	负责从库维护会话建立监控二进制日志信息,并将变化信息发送给从库#	------四个文件------
binlog:	 记录主库中完成时误操作信息(DDL/DCL/DML),存储在主库		如何查看:show binlog events in 'xxx';relaylog:记录主库中完成事务操作信息(DDL/DCL/DML),存储在从库show relaylog events in 'xxx';master.info:   记录链接主库的配置信息,还有同步数据的位置点信息relaylog.info: 记录中继日志被读取的位置点信息

(3).实现数据库主从同步架构搭建

方式一:采用传统方式实现主从搭建

环境准备:
10.0.0.51  db-01 主库   数据库服务实例 8.0.36
10.0.0.52  db-02 从库   数据库服务实例 8.0.36
10.0.0.53  db-03 从库   数据库服务实例 8.0.36步骤一:主库备份数据和创建主从同步用户
create user repl@'10.0.0.%' identified with mysql_native_password by '123456';
grant Replication slave on *.* to repl@'10.0.0.%';mysqldump -uroot -p666666 -A --source-data >/backup/all-03-05.sqlscp -rp /backup/all-03-05.sql 10.0.0.122:/backup/
scp -rp /backup/all-03-05.sql 10.0.0.123:/backup/步骤二:从库进行主库传输后全量数据恢复
mysql < /backup/all-03-05.sql
全量备份后位置点信息:binlog.000001  1380步骤三:在从库中进行主从功能配置
CHANGE MASTER TOMASTER_HOST='10.0.0.51',MASTER_PORT=3306, MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER_LOG_FILE='binlog.000001',MASTER_LOG_POS=1380;
-- 以上配置可以在mysql.slave_master_info 表中查看到配置信息步骤四:激活主从同步数据功能
start slave;
-- 激活主从同步功能,就会在从库中创建IO线程和SQL线程,主库会创建dump线程

(4).主从同步异常如何监控排查问题

show slave status\G  
-- 查看主从同步状态信息,可以确认主从同步是否正常或异常Slave_IO_Running: Yes
Slave_SQL_Running: Yes
-- 表示主从同步正常,如果未显示两个Yes信息,表示主从同步异常Last_IO_Errno: 0
Last_IO_Error: 
Last_SQL_Errno: 0
Last_SQL_Error: 
-- 当IO或SQL线程出现问题,以上信息中会显示对应线程出现错误异常原因Master_Log_File: binlog.000001
Read_Master_Log_Pos: 1568
-- 以上信息表示IO线程接收到事务位置点信息  
Relay_Master_Log_File: binlog.000001
Exec_Master_Log_Pos: 1568
-- 以上信息表示SQL线程执行的事务位置点信息Seconds_Behind_Master: 0
-- 以上信息表示主从同步过程,是否有同步延迟情况Replicate_Do_DB:           
Replicate_Ignore_DB:     
-- 设置SQL线程对于指定数据库是否回放数据信息的白名单和黑名单设置Replicate_Do_Table:              
Replicate_Ignore_Table: 
-- 设置SQL线程对于指定数据表是否回放数据信息的白名单和黑名单设置Replicate_Wild_Do_Table:       
Replicate_Wild_Ignore_Table:
-- 实现SQL数据库针对表的同步模糊设置,实现白名单和黑名单设置

总结

01 数据库服务备份恢复物理备份恢复-- 复制方式备份恢复(冷备)-- 工具方式备份恢复(热备-xbk)全量数据备份与全量数据恢复/增量数据备份与增量数据恢复
02 数据库服务主从同步数据库主从同步原理(重要) 根据主从建立流程叙述主从原理/根据主从建立涉及到3线程和4文件做描述数据库主从同步实践        利用传统方式实现主从同步数据库主从状态查看(监控) 关注线程状态 数据同步延迟情况
http://www.jsqmd.com/news/442324/

相关文章:

  • 从“气老虎”到“智能管家”:起重机吊臂机器人弧焊节气技术实战解析
  • 2026年膜结构车棚厂家实力推荐榜:汽车停车棚/电动车棚/自行车棚源头厂家精选 - 品牌推荐官
  • 2025年汉字小达人活动一道有争议的题目:刘禹锡的《浪淘沙》及拓展
  • 基于GLM-4.7-Flash的自动化测试脚本生成系统
  • 快速部署通义千问3-VL-Reranker-8B:支持混合检索的Web服务搭建教程
  • 2000-2024年上市公司债务违约风险Z-score
  • WuliArt Qwen-Image Turbo效果展示:多风格LoRA生成惊艳作品集
  • 能ping通但是浏览器不能访问大概率是代理的问题
  • 小空间也能自在练|家用不占地健身器材精选,告别空间焦虑,居家健身零负担 - 冠顶工业设备
  • 实时手机检测-通用多场景落地:产线质检、课堂管控、安防监控应用解析
  • AI广告推广如何选择服务商?这些公司值得关注 - 品牌2026
  • SAP-ABAP:高效开发指南:全局唯一标识符ICF_CREATE_GUID函数的全面解析与实践 - 详解
  • 小团队福音:Wan2.2-T2V-A5B轻量级视频生成,低成本搞定营销素材
  • 125.计网---第二章
  • 2026年热门的包装机厂家推荐:固体饮料多列包装机精选厂家 - 品牌宣传支持者
  • 分布式本地雪花算法
  • 2026年靠谱的包装机厂家推荐:固体饮料多列包装机实力厂家推荐 - 品牌宣传支持者
  • OFA模型助力数据库课程设计:构建智能图片检索系统原型
  • C语言第24章 多维数组入门
  • SEER‘S EYE预言家之眼与MySQL集成:游戏对局数据持久化与分析
  • FireRedASR-AED-L本地化方案:解决PyTorch版本冲突与格式兼容痛点
  • C语言第25章 字符数组与字符串
  • PyTorch 2.5镜像实测:免安装免配置,快速体验GPU训练全流程
  • C语言第26章 指针的基本概念
  • OneAPI API网关审计追踪:记录每次API调用的模型、渠道、用户、IP、耗时与token用量
  • 2026年耐用的气体扩散层碳纸公司推荐:电解水气体扩散层/燃料电池气体扩散层生产厂家推荐 - 品牌宣传支持者
  • Asian Beauty Z-Image Turbo 模型解析:从计算机组成原理视角看GPU推理过程
  • 长兴岛潮汐表查询2026-03-07
  • 实用指南:解锁AI营销新密码,GEO优化助力品牌连接精准AI买家
  • Harmonyos应用实例三:认识位置——空间导航与移动