linux下mysql数据库备份与恢复(全量+增量)
为了模拟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数据库备份与恢复(全量+增量)相关推荐
- MySQL数据库之全量+增量+二进制日志的备份与恢复
一.简介数据的备份与恢复 1.为什么备份? 灾难恢复:人为错误.硬件故障(冗余).软件故障(bug).自然灾害.黑客攻击.误操作.-: 测试: 2.备份时应该注意些什么? 能容忍最多丢失多少数据: 恢 ...
- linux下mysql数据库基础及客户端命令详解
linux下mysql数据库基础及客户端命令详解 1.mysql数据库存储引擎: SHOW ENGINES; #查看mysql支持的存储引擎 常见有如下两个存储引擎: MyISAM:每表三个文件: ...
- mysql 多数据库文件_今天突然发现我的Linux下MySQL数据库目录多了好多文件
今天再次重现Blog了,虽然很忙,还是要来写一下Blog的,嘻,首先还是一样先谢谢Sery 今天发现了我的Linux下Mysql数据库目录多了好多Mysql-bin.0000X这些文件,经过自己查找资 ...
- Linux下MySQL数据库主从同步配置
操作系统:CentOS 6.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备篇: 说 ...
- Linux下Mysql数据库的基础操作
Linux下Mysql数据库的基础操作 一.Mysql数据介绍 二.数据库相关术语介绍 1.数据库相关名词 2.相关术语介绍 三.Mysql数据库的管理 1.创建数据库用户 2.查询用户状态 3.修改 ...
- mysql教程qt linux_一步步学Qt,第四天-Linux 下mysql数据库链接
一步步学Qt,第四天-Linux 下mysql数据库链接 现在在linux系统下面,完成之前的qt-mysql连接工作,此次我新安装了新版的qt,也按照qtassistant对mysqldriver进 ...
- linux mysql常用基本操作,Linux下MySQL数据库常用基本操作 一
Linux下MySQL数据库常用基本操作 一 0.登录数据库 mysql -u root -p 1.显示数据库 show databases; 2.选择数据库 use 数据库名; 3.显示数据库中的表 ...
- Linux下mysql数据库从服务器A只迁移DATA文件夹到服务器B
Linux下mysql数据库从服务器A只迁移DATA文件夹到服务器B 操作流程 获取数据 迁移数据 运行新的数据库 后记 操作流程 前言:近期做了一个项目,由于mysql数据库中的数据比较庞大,考虑转 ...
- Linux下Mysql数据库
Linux下Mysql数据库 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司, 目前属于Oracle公司,MySQL被广泛地应用在Internet上的中小型网站中 ...
- Linux下MySQL数据库的备份与还原,mysql快速导入导出数据库实例演示,解决mysql大数据量数据库导出慢的问题
MySQL 数据库的备份与还原 第一章:数据库的导入与导出 ① 数据库的导出 ② 大数据量下 mysqldump 的导出优化 ③ 数据库的导出 第一章:数据库的导入与导出 ① 数据库的导出 需要用到 ...
最新文章
- 详细解读 Prometheus 的指标类型
- python面向对象图片_Python面向对象-概念、类、实例
- 【Android 热修复】热修复原理 ( 多 Dex 打包机制 | 多 Dex 支持 | Dex 分包设置 | 开发和产品风格设置 | 源码资源 )
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车黑线循迹红外避障综合实验
- CVPR 2019 | 告别低分辨率网络,微软提出高分辨率深度神经网络HRNet
- 常用shell命令介绍
- orale如果是整数后面补小数点0_Win10完美整数大小磁盘分区
- rep( )函数--R语言
- 最新全套码支付源码/QQ+微信+支付宝三网免挂支付系统源码
- 《自己动手写网络爬虫》笔记4-带偏好的网络爬虫
- 6.形容词性物主代词用法
- c++计算一维数组中的最大元素
- 最新发现----葵花宝典的创始人居然是段誉!!!
- Centos指令mysql安装报错为“ Failing package is: mysql-community-client-5.7.38-1.el7.x86_64”
- 科大讯飞智能办公本Air电纸书阅读器,让我的工作生活更加健康
- 第6天:分割处理与中断处理
- 用python实现聚类分析
- pr图形模板预设怎么使用_PR怎样安装动态图形模板?怎样调用Mogrt预设?Premiere导入MOGRTs预设完整教程...
- DOM自定义属性 getAttribute、setAttribute、removeAttribute
- 专家解读:顺丰和菜鸟开战核心是大数据
热门文章
- Win8.1 ext-ms-win-ntuser-uicontext-ext-l1-1-0.dll等缺失
- Ado.Net SQL语句参数化(SqlParameter用法)(多条件模糊查询的实现)
- Visual FoxPro正式版
- 2022见证中国崛起从Python绘制中国地图开始:使用pyecharts最新版本绘制中国地图实例详解,个性化地图定制及常用参数解析
- python opencv显示高分辨率图片时,如何改变窗口的大小
- 芬兰开放「线上 AI 速成班」,全球网民均可注册【智能快讯】
- Premiere Pro 2020 安装教程
- win10计算机管理员权限删除,win10需要管理员权限删除文件怎么办?获取管理员权限删除文件夹...
- NI CompactRIO嵌入式系统开发流程总结
- mysql完整性实验报告_MySQL数据库技术实验报告模板