mysql 快照和binlog_利用快照卷和日志文件对mysql数据库备份和恢复

2023-10-27

基于快照卷做备份和日志文件做恢复

1、首先对数据库施加读锁

2、记录二进制日志文件的文件名和事件位置

3、创建快照卷

4、解锁数据库

5、挂载快照卷,复制数据文件

6、删除快照卷

#登录mysql服务器

[root@station58 ~]#mysql

#对数据库施加读锁

mysql> flush tables with read lock;

Query OK, 0 rows affected (0.02 sec)

#查看数据库的状态

mysql> show master status;

+------------------+----------++--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

------------------+----------+--------------+------------------+

| mysql-bin.000001 |      107 |              |                  |

+------------------+----------+--------------+------------------+

1 row in set (0.02 sec)

#创建快照卷

[root@station58 ~]# lvcreate -L 150M -s -p r -n mybackup /dev/myvg/mydata      #-p 带权限 r 只读方式 -n 快照卷的名字

Rounding up size to full physical extent 152.00 MB

Logical volume "mybackup" created

#解锁数据库

mysql> unlock tables;

Query OK, 0 rows affected (0.00 sec)

#创建快照卷的挂载点并以只读方式挂载

[root@station58 ~]# mkdir /backup

[root@station58 ~]# mount -o ro /dev/myvg/mybackup /backup/

[root@station58 ~]# cd /backup

#压缩数据库的数据存放目录并查看压缩后的大小

[root@station58 backup]# tar jcf /root/data_back-`date +%F`.tar.bz2 data/

[root@station58 backup]#cd

[root@station58 ~]# ll -h

#解压打包的数据文件至/tmp下并查看是否和原来的文件一致

[root@station58 ~]# tar xf data_back-2012-02-04.tar.bz2 -C /tmp

[root@station58 ~]# cd /tmp

[root@station58 tmp]# ls

data            keyring-rzxDba  orbit-root

gconfd-root     mapping-root    ssh-lviWWn3623

keyring-QKdZbd  mysql.sock      virtual-root.THhkv1

#如果相同可以删除/tmp下的备份数据

[root@station58 data]# cd ..

[root@station58 tmp]# rm -rf data/

[root@station58 tmp]# cd

#卸载挂载点并强制删除逻辑卷

[root@station58 ~]# umount /backup

[root@station58 ~]# lvremove --force /dev/myvg/mybackup

Logical volume "mybackup" successfully removed

到此快照卷备份完成

但如果备份完成后我们对数据库做了误操作我们又如何恢复呢

实验前提:我们先创建个www数据库然后在删除,然后再恢复到有www数据库的时刻

#创建www数据库

mysql> create database www;

Query OK, 1 row affected (0.04 sec)

#查看数据库

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

| www                |

+--------------------+

5 rows in set (0.03 sec)

#删除www数据库和退出数据库

mysql> drop database www;

Query OK, 0 rows affected (0.08 sec)

mysql> \q;

#查看创建www数据库时刻的日志文件的序号

[root@station58 data]# mysqlbinlog --start-position=107  mysql-bin.000001

#将从完全备份到创建www时刻的日志信息保存

[root@station58 data]# mysqlbinlog --start-position=107 --stop-position 188 mysql-bin.000001 >/root/a.sql

#备份完全备份后至此刻的日志文件

[root@station58 data]# cp mysql-bin.000001 /tmp

#删除数据目录里的所有文件

[root@station58 data]# cd /mydata

[root@station58 mydata]# rm -rf data

[root@station58 mydata]# cd

#解压备份的文件到/mydata并查看

[root@station58 ~]# tar vxf data_back-2012-02-04.tar.bz2 -C /mydata

[root@station58 ~]# cd /mydata/data

[root@station58 data]# ls

ibdata1      mysql             performance_schema         test

ib_logfile0  mysql-bin.000001  station58.example.com.err

ib_logfile1  mysql-bin.index   station58.example.com.pid

#重新启动mysql服务

[root@station58 data]# service mysqld start

Starting MySQL                                             [  OK  ]

#重新连接mysql数据库

[root@station58 data]# mysql

#查看数据库

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

4 rows in set (0.01 sec)

#把备份的日志文件信息重新执行一次

mysql> source /root/a.sql

Query OK, 0 rows affected (0.00 sec)

#查看数据库是否有www数据库

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

| www                |

+--------------------+

5 rows in set (0.00 sec)

此时已经恢复到正常的状态下

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql 快照和binlog_利用快照卷和日志文件对mysql数据库备份和恢复 的相关文章

  • QT中 No such file or directory的解决办法

    报错具体情境 使用D Qt Qt5 8 0 5 8 mingw53 32 gt 终端进行编译程序 步骤如下 qmake project 生成CH01 pro 文件 qmake CH01 pro 生成 Makefile 总的makefile
  • 【Hadoop生态圈】8.Flink实时计算引擎入门教程

    文章目录 1 简介 2 执行流程 3 核心三大组件 4 应用场景 5 架构原理 6 常用的API 7 java编写flink程序 8 把flink程序部署到hadoop环境上面运行 8 1 安装flink程序 8 2 编译java开发的fl
  • QTcpSocket 及 TCP粘包分析

    http blog csdn net u011125673 article details 50474741
  • Maven实战(二)构建简单Maven项目

    上一节讲了maven的安装和配置 这一节我们来学习一下创建一个简单的Maven项目 1 用Maven 命令创建一个简单的Maven项目 在cmd中运行如下命令 mvn archetype generate DgroupId com myco
  • obj生成到不同目录下

    2 down vote use Configuration Properties gt C C gt Ouptut Files gt IntDir RelativeDir Filename this will duplicate the s
  • 下载视频并保存至手机相册

    功能介绍 需要将转码后的视频 小于20MB 通过APP下载至手机相册 可以将小视频分享至微信传播 1 通过服务器转码视频 或者很多云服务商都会提供这个功能 2 通过APP下载至手机相册 这个是咱们需要做的事 主要技术 用到 URLSessi
  • 模型训练测试之一:ScaledYOLOv4

    Scaled YOLOv4 YOLOv4官方改进版 55 8 AP 很新 我就测下 Github地址 Gitee 地址 推荐 新的改变 聚焦于针对 YOLOv4 的模型缩放 model scale 旗下有三款模型 YOLOv4 CSP 面向
  • 74LS138译码器真值表以及快速计算方法

    74LS138真值表以及快速计算方法 掌握了74LS138译码器的快速计算的方法 就能够在使用74LS138译码器的时候 不用老是去查阅译码器的真值表的对应关系 74LS138译码器真值表 快速计算方法 将输入端的A B C看作成3位的二进
  • 依分布收敛的定义细节

    1 定义 依分布收敛的定义是这样的 随机变量序列 X n n 1 X n n 1 infty Xn n 1 若它们的累积分布函数cdf序列 F n n 1 F n n 1 infty Fn n 1 与某个随机变量 X X X的cdf F F
  • 解决论文写作排版中,两端对齐导致文字间距被word补过大的问题

    在段落中 中英文参杂 设置两端对齐 导致中英文的文字间距被word拉的过大 解决方法 选中修改的段落 这样设置就行
  • mac系统终端运行python文件

    1 在要运行的python文件首行里添加python解释器路径代码 代码 usr bin env python3 注意 上面代码中的python3是对应当前的python版本 例子 2 复制要运行的python文件位置 在终端使用代码进入要
  • 深入理解js——函数和对象的关系

    函数也是对象 但是函数却不像数组 数组是对象的一种 它是对象的一个子集 函数和数组之间不是单纯的包含与被包含的关系 它们之间有点像鸡生蛋蛋生鸡的逻辑 来例子 function Fn this name 小明 this age 10 var
  • (java基础知识)HashMap排序,Comparator接口详解

    对于List 可以调用Collections工具类的sort 方法 直接进行排序 HashMap 就没这么幸福了 其实 只要了解了Comparator这个接口之后 HashMap的排序也就不难了 无论是根据key 还是根据value排序 这
  • Ant Design Pro 2.0前端配置服务器代理,不使用mock数据

    在config js文件中可找到注释掉的 proxy server api target https preview pro ant design changeOrigin true pathRewrite server 取消注释 然后 p
  • vue + element实现el-date-picker的时间格式转换,以及自定义时间格式,修改输入的时间格式

    使用vue2 elementUi实现日期选择输入框的时间格式转换 根据数据的情况自动化格式为需要的格式 如果只是需要修改传给后端的值或者格式 可以使用 value format实现 可以在文档上查看详细的介绍
  • 强化学习——动态规划法

    文章目录 前言 一 动态规划法简单认识 1 基本概念 2 适用情况 3 求解步骤 4 典型案例 二 值函数 1 累计折扣奖励 2 状态值函数 3 动作值函数 4 状态值函数与动作值函数的关系 5 贝尔曼方程 动态规划法核心 三 策略评估 1
  • 学生信息管理系统测试总报告

    目录 1 前言 4 1 1 编写目的 4 1 2 背景说明 4 1 3 适用范围 4 1 4 参考资料 4 2 实验设备与软件环境 4 3 测试需求 5 3 1 需求分析 5 3 2 功能需求 5 3 2 1 系统管理模块 6 3 2 2
  • npm 常见命令 安装 卸载 查看版本

    npm 常见命令 安装 卸载 查看版本 npm list 查看本地已安装模块清单 npm list packageName 查看本地已安装模块版本 npm info packageName 查看模块的详细信息 包括各版本号等 npm vie

随机推荐

  • kcf跟踪算法实例整理

    http blog csdn NET shenxiaolu1984 article details 50905283 本文的跟踪方法效果甚好 速度奇高 思想和实现均十分简洁 其中利用循环矩阵进行快速计算的方法尤其值得学习 另外 作者在主页上
  • C++ 多态的定义及实现

    C 多态的定义及实现 1 多态定义的构成条件 多态是在不同继承关系的类对象 去调同一函数 产生了不同的行为 就是说 有一对继承关系的两个类 这两个类里面都有一个函数且名字 参数 返回值均相同 然后我们通过调用函数来实现不同类对象完成不同的事
  • 通过修改注册表设置代理

    reg add HKCU Software Microsoft Windows CurrentVersion Internet Settings v ProxyEnable t REG DWORD d 1 f 作用 使用自动配置脚本 reg
  • android logcat抓取app日志的方法

    一 logcat抓log方法 adb logcat命令 可以加条件过滤 1 安装SDK 参考android sdk环境安装 2 使用数据线链接手机 在手机助手的sdcard中建立一个1 log的文件或在抓日志时直接导出到电脑位置 3 程序运
  • 笔记本设置扩展屏幕时第二块屏幕的纵横比不对(字体变宽)

    1 在设置中设置扩展 分辨率和缩放按照推荐设置 2 在扩展显示器的高级设置中将屏幕的刷新率设置的比主屏幕低一点即可
  • 安装 Anaconda3 的那些坑

    Anaconda 官网 腿短的人进不去 有梯子的 自行 下载 然后 又翻到 https www anaconda com download windows 看着貌似 挺好 能打开 能下载 能卖萌 又怕国外的站点 下载太慢看到了 清华大学开源
  • IDEA从C盘搬到D盘打开找不到jvm解决办法

    首先 关闭IDEA 将IDEA整个文件夹首先将IDEA整个文件夹复制到你想要放得盘符 打开IDEA安装目录的bin目录 修改idea exe vmoptions中 javaagent D IDEA IntelliJ IDEA 2017 3
  • 认识计算机选题背景,与计算机专业相关的论文_计算机专业的毕业论文题目有哪些_大一我对计算机的认识3000字论文...

    求个金融学和计算机科学与技术这两个专业相关的论文题目 展开全部 互联网金融对传统银行业的影响分析与研究 或者针对某一个细分 比如P2P 支付宝 蚂蚁金融等等 为什么身边的人都想学计算机 计算机真的有那么好吗 作为资深码农 个人觉得这个问题可
  • 最大不能组合数和不能组合数的个数

    A New Change Problem Time Limit 5000 1000 MS Java Others Memory Limit 32768 32768 K Java Others Total Submission s 1609
  • Lua脚本做游戏外挂

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 第一件事当然就是搞账号 淘宝某店 一元100个网易邮箱 店铺已打马赛克 支付后老板给我发了一堆账号 粘贴word文档看下对不对数 刚好100个 不然就差评了 如果这100个
  • 最适合初学者的Python入门详细攻略,一文讲清,赶紧收藏

    目前python可以说是一门非常火爆的编程语言 应用范围也非常的广泛 工资也挺高 未来发展也极好 Python究竟应该怎么学呢 我自己最初也是从零基础开始学习Python的 给大家分享Python的学习思路和方法 一味的买书看书 看视频 是
  • 材料阅读 - 物联网设备指纹 - 某篇论文的相关工作

    20201030 本篇论文 1 是在了解设备指纹的时候看到的 一开始没仔细看 这两天正好集中整理一下 但是这篇文章说实话 不敢苟同 我仔细读了读就感觉有很大问题 看不到具体的干货 文章地址是 1 看了一下他这里的一个同行评议 无话可说 我在
  • jQuery 判断数组集合 是否包含相同元素.

    定义 组装数组对象 筛选重复对象 isRepeat function data var i 0 var obj var arry for i i lt data length i obj data i if
  • 强化学习 学习资料整理(持续更新)

    关于强化学习 比较经典的书当然是 Richard Sutton 的 Reinforcement Learning An Introduction 下面的资料大部分也是关于这本书的读书笔记和相关课程及代码 教学视频系列 强化学习纲要 十课 代
  • 2028:【例4.14】百钱买百鸡

    2028 例4 14 百钱买百鸡 时间限制 1000 ms 内存限制 65536 KB 提交数 1393 通过数 595 题目描述 百钱买百鸡问题 鸡翁一 值钱五 鸡母一 值钱三 鸡雏三 值钱一 百钱买百鸡 问鸡翁 鸡母 鸡雏各几何 输入
  • 使用线程以及对信号量 AutoResetEvent和ManualResetEvent的理解

    声明线程 DoThreads是串口执行的方法名称 Thread DoThreads new Thread new ThreadStart DoThreads DoThreads IsBackground true 是否跟着主线程结束而结束
  • 【翻译】 用纸质电路增加开源的包容性

    你知道吗 LWN net是一份由订阅者支持的出版物 我们依靠订阅者来维持整个运作 请通过购买订阅来帮助我们 让LWN继续在网上运行 作者 Jonathan Corbet 2018年1月30日 linux conf au 开源软件有一个包容性
  • JS正则表达式(二)

    取得字符串的字节长度 代码 function strlen str var i var len len 0 for i 0 i
  • 行人重识别(ReID)概述

    什么是Re ID 行人重识别 Person Re identification也称行人再识别 简称为ReID 是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术 广泛被认为是一个图像检索的子问题 给定一个监控行人图像 检索跨设
  • mysql 快照和binlog_利用快照卷和日志文件对mysql数据库备份和恢复

    基于快照卷做备份和日志文件做恢复 1 首先对数据库施加读锁 2 记录二进制日志文件的文件名和事件位置 3 创建快照卷 4 解锁数据库 5 挂载快照卷 复制数据文件 6 删除快照卷 登录mysql服务器 root station58 mysq