mysql—总体备份和增量备份

mysql—总体备份和增量备份

大家好,又见面了,我是全栈君。

总体备份:

对整张表或者整个数据库甚至全部数据库进行备份。


增量备份:

对某一范围内的数据进行备份。


1、总体备份:

对表进行备份:

针对存储引擎为myisam的表,能够直接复制frm、myd、myi这三个文件起到备份的效果。须要还原的时候,再复制回来就能够达到还原效果。

假设存储引擎为innodb的表,就不这样简单了,由于全部表的数据和索引都存在一起(表空间)。一旦复制表空间,全部表的数据和索引就跟着一起复制过来。


怎样进行备份?能够利用mysqldump工具

先创建一个表,并插入一些数据

mysql---总体备份和增量备份

备份前须要退出mysql,利用mysqldump -u用户  -p  库名 表名 > 输出备份路径

输入password后导出备份文件

mysql---总体备份和增量备份

在E盘的备份文件夹下出现了table1文件

mysql---总体备份和增量备份

打开table1文件,能够看到文件实际存储的是建表语句和插入数据的SQL语句

mysql---总体备份和增量备份

如今我们删除tab_one表,用table1来还原tab_one

mysql---总体备份和增量备份

再查看tab_one表。表已经被还原回来

mysql---总体备份和增量备份


怎样备份多个表?

答:mysqldump -u用户  -p  数据库  表1  表2  …… 表N  > 备份文件路径


怎样备份1个数据库?

答:mysqldump -u用户  -p -B  数据库  > 备份文件路径


怎样备份多个数据库?

答:mysqldump  -u用户 -p -B  库1  库2  …… 库N  >备份文件路径


怎样备份全部数据?

答:mysqldump  -u用户 -p -A  >备份文件路径


2、增量备份

首先启动二进制日志功能,通过设置my.ini或者my.conf

在mysqld以下加入二进制备份路径(注意路径是左斜杠‘/’而不是‘\’,与windows不同)

mysql---总体备份和增量备份

重新启动mysql服务

会看到在E盘的beifen文件夹下多了2个文件

mysql---总体备份和增量备份

打开index文件。内容是日志文件的路径。

日志文件能够有多个,命名规则是log-bin中设置的testBei后面加上6位数(从000001一直递增)

mysql---总体备份和增量备份

日志文件无法直接打开。能够利用mysqlbinlog工具打开

退出mysqlclient在windows控制台上(确保设置过环境变量。不然要进入mysql的bin文件夹)输入

mysqlbinlog 日志文件路径

二进制文件记录了除select操作以外的绝大多数操作(详细我也不太清楚,主要的增删改查是肯定要记录的)

mysql---总体备份和增量备份

由于每次操作的时间和“位置”都会被记录下来。所以要想还原数据有两种途径通过“时间”或“位置”。

通过时间还原:

–start-datetime=”还原数据的起始时间”

–stop-datetime=”还原数据的结束时间”

mysqlbinlog –start-datetime=“时间”  日志文件路径  | mysql -u用户  -p              从规定的起始时间还原到如今

mysqlbinlog –stop-datetime=“时间”  日志文件路径  | mysql -u用户  -p              从最開始还原到规定的结束时间

mysqlbinlog –start-datetime=“时间”  –stop-datetime=“时间” 日志文件路径  | mysql -u用户  -p    从规定的起始时间还原到规定的结束时间

通过位置还原:

–start-position=”还原数据的起始位置”

–stop-position=”还原数据的结束位置”

mysqlbinlog –start-position=“位置”  日志文件路径  | mysql -u用户  -p             从规定的起始位置还原到如今

mysqlbinlog –stop-position=“位置”  日志文件路径  | mysql -u用户  -p             从最開始还原到规定的结束位置

mysqlbinlog –start-position=“位置”  –stop-position=“位置” 日志文件路径  | mysql -u用户  -p    从规定的起始位置还原到规定的结束位置

如今删除tab_two表

mysql---总体备份和增量备份

查看日志能够发现删除tab_two的sql

mysql---总体备份和增量备份

如今想恢复tab_two,就应该设置好时间范围(建表时间–删除时间)。

mysql---总体备份和增量备份

再看一下结果

mysql---总体备份和增量备份

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2022年2月6日 上午6:00
下一篇 2022年2月6日 上午6:00


相关推荐

  • 华为开源数据库openGauss

    华为开源数据库openGaussopenGauss 是一款全面友好开放 携手伙伴共同打造的企业级开源关系型数据库 openGauss 提供面向多核架构的极致性能 全链路的业务 数据安全 基于 AI 的调优和高效运维的能力 openGaus 深度融合华为在数据库领域多年的研发经验 结合企业级场景需求 持续构建竞争力特性 openGauss 网站 https opengauss org zh 提供了有关 openGauss 软件的最新信息 openGauss 是一个数据库管理系统 数据库是结构化的数据集合 它可以是任何数据 购物清单 图片库或公司网

    2026年3月18日
    2
  • jetbrains 激活码[在线序列号]

    jetbrains 激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    57
  • 离别·伤

    离别·伤

    2021年12月13日
    56
  • lm opencv 算法_Levenberg–Marquardt算法学习(和matlab的LM算法对比)[通俗易懂]

    lm opencv 算法_Levenberg–Marquardt算法学习(和matlab的LM算法对比)[通俗易懂]回顾高斯牛顿算法,引入LM算法惩罚因子的计算(迭代步子的计算)完整的算法流程及代码样例1.回顾高斯牛顿,引入LM算法根据之前的博文:Gauss-Newton算法学习假设我们研究如下形式的非线性最小二乘问题:r(x)为某个问题的残差residual,是关于x的非线性函数。我们知道高斯牛顿法的迭代公式:Levenberg–Marquardt算法是对高斯牛顿的改进,在迭代步长上略有不同:最…

    2026年4月19日
    5
  • Cocoapods安装教程

    Cocoapods安装教程Source 作者 魔女小溪出处 http www cnblogs com angelgril 本文版权归作者和博客园共有 欢迎转载 但未经作者同意必须保留此段声明 且在文章页面明显位置给出原文连接 否则保留追究法律责任的权利 阅读目录第一步 首先要检查 Mac 是否安装了 rvm 打开终端 输入指令 rvm v 第二步 用 rvm 安装 ruby 环境第三步 检查更新 RubyGems Ruby1 9 1 以后的版本自带 RubyGems 第四步 检查 ruby 源并移除第五步 安装 CocoaPods s

    2026年3月17日
    2
  • 引入echars5.0报错“export ‘default‘ (imported as ‘echarts‘) was not found in ‘echarts‘解决方案

    引入echars5.0报错“export ‘default‘ (imported as ‘echarts‘) was not found in ‘echarts‘解决方案前言 最近觉得老版本的 echars 样式太丑了 于是我就把组件升级成了 echars5 0 结果报错了 export default importedas echarts wasnotfoundi echarts 折腾了我半天 一 npmrundev 报错天哪 直接报错 370 27 34 export default importedas echarts wasnotfoundi echarts 二 报错原因与解决方案我问了下前端大佬 大佬

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号