为了模拟mysql数据库的备份与恢复,本文档将介绍数据库的创建、表创建、数据插入、数据库全备份、日志分割、数据恢复等内容

1、数据库创建

登录数据库:

[root@zeshintax02 ~]# mysql -uroot –p

创建数据库tb1,表ttab01:

mysql> create database tb1 default charset utf8mb4;

Query OK, 1 row affected (0.01 sec)

mysql> use tb1

Database changed

mysql> create table ttable01(

-> id int auto_increment primary key,

-> name varchar(15)

-> )engine = InnoDB;

Query OK, 0 rows affected (0.02 sec)

2、插入数据:

3、使用mysqldump全量备份数据:

【注】:  通常使用全备份命令时需要加入参数:

Mysqldump -uroot -p --single-transaction --master-data=2 --routines --flush-logs -B --all-databases > fullbackupfile.sql

参数--single-transaction、 --master-data=2表示一致性备份,一般一起使用,不单用。--routines备份函数触发器、--flush-logs备份前刷新日志(保证数据完全备份,若数据库开了二进制日志,则不需要使用该参数和一致性参数--single-transaction、 --master-data=2)参数-B:最大的特点就是加入了库,数据恢复时不需要再创建库。

4、继续插入数据:

5、使用mysqlbinlog查看日志

mysqlbinlog可以查看数据库二进制日志文件的内容,里面保存了插入数据的语句。查看日志文件:

6、mysqladmin分割日志

为了查看数据库的变化,使用mysqladmin命令中选项flush-logs将数据库新生成的二进制文件进行分割,这样在写入新的数据后,新的二进制文件对应的就是数据库的变化的内容。

查看二进制日志文件是否增加:

插入一条新数据;

使用mysqlbinlog命令可以查看mysql-bin.000003数据库二进制日志文件的内容,里面保存了新插入数据的语句:

再使用mysqladmin中的选项flush-logs将数据库二进制日志文件进行分割:

由于数据库未增删改新的数据,故分割后的二进制日志文件没有相关内容。

此时插入一条数据:

再查看二进制日志文件:

新的二进制日志文件保存了新插入的内容,如上。

二、恢复数据

1、全备份后的部分数据恢复

(1)模拟数据丢失:使用delete删除插入的两条数据

可以查看表中数据少了两条。

(2)利用之前产生的二进制日志文件恢复数据,(需要注意恢复顺序,最早的数据需要先恢复对应的二进制文件):

可以查看到已经恢复成功一条数据,继续恢复另一条:

如此完成两条数据的恢复。

2、全备份后的所以数据恢复

(1)、查看数据数据:

进行日志分割后,二进制文件列表如下:

插入一条数据:

进行日志分割,并查看产生新的二进制文件:

再次插入一条数据:

查看对应的二进制文件,发现写入的数据已经记录:

删除表,之后使用全备+增量备份来恢复数据:

现在进行数据恢复:

A、先全量数据恢复:

可以发现表恢复回来了,查看表数据:

表中保存了全备时的数据,接着恢复增量日志。

B、增量数据恢复,一直到最后一个文件:

【注】:在恢复增量日志时,遇到报错一定要解决才能进行下一个文件恢复,否则可能数据不完整。

linux下mysql数据库备份与恢复(全量+增量)相关推荐

  1. MySQL数据库之全量+增量+二进制日志的备份与恢复

    一.简介数据的备份与恢复 1.为什么备份? 灾难恢复:人为错误.硬件故障(冗余).软件故障(bug).自然灾害.黑客攻击.误操作.-: 测试: 2.备份时应该注意些什么? 能容忍最多丢失多少数据: 恢 ...

  2. linux下mysql数据库基础及客户端命令详解

    linux下mysql数据库基础及客户端命令详解 1.mysql数据库存储引擎: SHOW ENGINES;   #查看mysql支持的存储引擎 常见有如下两个存储引擎: MyISAM:每表三个文件: ...

  3. mysql 多数据库文件_今天突然发现我的Linux下MySQL数据库目录多了好多文件

    今天再次重现Blog了,虽然很忙,还是要来写一下Blog的,嘻,首先还是一样先谢谢Sery 今天发现了我的Linux下Mysql数据库目录多了好多Mysql-bin.0000X这些文件,经过自己查找资 ...

  4. Linux下MySQL数据库主从同步配置

    操作系统:CentOS 6.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备篇: 说 ...

  5. Linux下Mysql数据库的基础操作

    Linux下Mysql数据库的基础操作 一.Mysql数据介绍 二.数据库相关术语介绍 1.数据库相关名词 2.相关术语介绍 三.Mysql数据库的管理 1.创建数据库用户 2.查询用户状态 3.修改 ...

  6. mysql教程qt linux_一步步学Qt,第四天-Linux 下mysql数据库链接

    一步步学Qt,第四天-Linux 下mysql数据库链接 现在在linux系统下面,完成之前的qt-mysql连接工作,此次我新安装了新版的qt,也按照qtassistant对mysqldriver进 ...

  7. linux mysql常用基本操作,Linux下MySQL数据库常用基本操作 一

    Linux下MySQL数据库常用基本操作 一 0.登录数据库 mysql -u root -p 1.显示数据库 show databases; 2.选择数据库 use 数据库名; 3.显示数据库中的表 ...

  8. Linux下mysql数据库从服务器A只迁移DATA文件夹到服务器B

    Linux下mysql数据库从服务器A只迁移DATA文件夹到服务器B 操作流程 获取数据 迁移数据 运行新的数据库 后记 操作流程 前言:近期做了一个项目,由于mysql数据库中的数据比较庞大,考虑转 ...

  9. Linux下Mysql数据库

    Linux下Mysql数据库 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司, 目前属于Oracle公司,MySQL被广泛地应用在Internet上的中小型网站中 ...

  10. Linux下MySQL数据库的备份与还原,mysql快速导入导出数据库实例演示,解决mysql大数据量数据库导出慢的问题

    MySQL 数据库的备份与还原 第一章:数据库的导入与导出 ① 数据库的导出 ② 大数据量下 mysqldump 的导出优化 ③ 数据库的导出 第一章:数据库的导入与导出 ① 数据库的导出 需要用到 ...

最新文章

  1. 详细解读 Prometheus 的指标类型
  2. python面向对象图片_Python面向对象-概念、类、实例
  3. 【Android 热修复】热修复原理 ( 多 Dex 打包机制 | 多 Dex 支持 | Dex 分包设置 | 开发和产品风格设置 | 源码资源 )
  4. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车黑线循迹红外避障综合实验
  5. CVPR 2019 | 告别低分辨率网络,微软提出高分辨率深度神经网络HRNet
  6. 常用shell命令介绍
  7. orale如果是整数后面补小数点0_Win10完美整数大小磁盘分区
  8. rep( )函数--R语言
  9. 最新全套码支付源码/QQ+微信+支付宝三网免挂支付系统源码
  10. 《自己动手写网络爬虫》笔记4-带偏好的网络爬虫
  11. 6.形容词性物主代词用法
  12. c++计算一维数组中的最大元素
  13. 最新发现----葵花宝典的创始人居然是段誉!!!
  14. Centos指令mysql安装报错为“ Failing package is: mysql-community-client-5.7.38-1.el7.x86_64”
  15. 科大讯飞智能办公本Air电纸书阅读器,让我的工作生活更加健康
  16. 第6天:分割处理与中断处理
  17. 用python实现聚类分析
  18. pr图形模板预设怎么使用_PR怎样安装动态图形模板?怎样调用Mogrt预设?Premiere导入MOGRTs预设完整教程...
  19. DOM自定义属性 getAttribute、setAttribute、removeAttribute
  20. 专家解读:顺丰和菜鸟开战核心是大数据

热门文章

  1. Win8.1 ext-ms-win-ntuser-uicontext-ext-l1-1-0.dll等缺失
  2. Ado.Net SQL语句参数化(SqlParameter用法)(多条件模糊查询的实现)
  3. Visual FoxPro正式版
  4. 2022见证中国崛起从Python绘制中国地图开始:使用pyecharts最新版本绘制中国地图实例详解,个性化地图定制及常用参数解析
  5. python opencv显示高分辨率图片时,如何改变窗口的大小
  6. 芬兰开放「线上 AI 速成班」,全球网民均可注册【智能快讯】
  7. Premiere Pro 2020 安装教程
  8. win10计算机管理员权限删除,win10需要管理员权限删除文件怎么办?获取管理员权限删除文件夹...
  9. NI CompactRIO嵌入式系统开发流程总结
  10. mysql完整性实验报告_MySQL数据库技术实验报告模板