我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql备份恢复

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql备份恢复

             MYSQL备份恢复

MySQL备份一般采取全库备份加日志备份的方式.

1、binlog

mysql的二进制日志记录着该数据库的所有增删改的操作日志, 可以使用mysqlbinlog命令来查看。

默认关闭的 在/etc/my.conf 开启 重启

mysql备份恢复

指定路径

mysql备份恢复

Binlog的用途 主从同步  恢复数据库

查看产生的binary log 注:查看binlog内容是为了恢复数据
 bin-log因为是二进制文件,不能通过文件内容查看命令直接打开查看,mysql提供两种方式查看方式,我们先对数据库进行一下增删改的操作,否则log里边数据有点空。 

mysql备份恢复

重启开始一个新日志

mysql备份恢复

查看MySQL Server上的二进制日志

mysql备份恢复

查看二进制日志信息的命令:

语法格式:SHOW BINLOG EVENTS[IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]

mysql备份恢复

查看指定二进制日志事件


mysql备份恢复

mysql备份恢复

SLAVE复制线程。

查看到文件中具体的内容并应于恢复场景还得借助mysqlbinlog这个工具。

语法格式: mysqlbinlog [options] log_file ...

mysqlbinlog的可用选项可参考man手册。

二进制日志文件的格式包含行模式、语句模式和混合模式,基于语句的日志中事件信息包含执行的语句等,基于行的日志中事件信息包含的是行的变化信息等。

 2 方便查询SQL语句使用mysqlbinlog工具 -v (--verbose)选项,想看到更详细的信息可以将该选项给两次如-vv

先切换到binlog所在的目录下

查看mysqlbinlog  000001目录

mysql备份恢复

mysqlbinlog和可以通过--read-from-remote-server选项从远程服务器读取二进制日志文件,这时需要一些而外的连接参数,如-h,-P,-p,-u等,这些参数仅在指定了--read-from-remote-server后有效。

无论是行模式、语句模式还是混合模式的二进制日志文件,被mysqlbinlog工具解析后都可直接应用与MySQL Server进行基于时间点、位置或数据库的恢复。

可以看出delete事件发生position是287,事件结束position是416

mysql备份恢复

恢复流程:直接用bin-log日志将数据库恢复到删除位置287前,然后跳过故障点,再进行恢复

由于之前没有做过全库备份,所以要使用所有binlog日志恢复,所以生产环境中需要很长时间恢复,导出相关binlog文件

mysql备份恢复

删除test数据库

mysql备份恢复

利用binlog恢复数据

mysql备份恢复

恢复成功

mysql备份恢复

--start-datetime

从二进制日志中读取指定时间戳或者本地计算机时间之后的日志事件。

--stop-datetime

从二进制日志中读取指定时间戳或者本地计算机时间之前的日志事件。

--start-position        

从二进制日志中读取指定position 事件位置作为开始。

--stop-position

从二进制日志中读取指定position 事件位置作为事件截至。

mysqldump介绍

mysqldump一般在数据量很小的时候(几个G)可以用于备份。当数据量比较大的情况下,就不建议用mysqldump工具进行备份了。

 2)mysqldump可以针对单个表、多个表、单个数据库、多个数据库、所有数据库进行导出的操作

#mysqldump [options] db_name [tbl_name ...] //导出指定数据库或单个表

#mysqldump [options] --databases db_name ... //导出多个数据库

#mysqldump [options] --all-databases //导出所有

导出数据库test

完整备份 重新开启新binlog

mysql备份恢复

数据库导入

mysql备份恢复

实现mysqldum全库备份和binlog数据恢复

检查开启binlog  创建原始数据

mysql备份恢复

mysql备份恢复

方案:mysqldump全库备份+binlog还原

1、mysqldump备份方案:

每周一凌晨1点全库备份

2、备份步骤

mysql备份恢复

模拟一个完整全库备份

mysql备份恢复

备份mysqldump全库备份之前的binlog日志文件

mysql备份恢复

模拟失误删除数据

mysql备份恢复

mysql备份恢复

创建tom3

mysql备份恢复

mysql备份恢复

mysql备份恢复

刚才删除的数据(id=2)恢复回来了,但备份后产生的数据却丢失了所以还得利用binlog进一步还原因为删除是在全库备份后发生的,而mysqldump全库备份时使用--flush-logs选项,所以只需要分析全库备份后的binlog即mysql-bin.000002。

mysql备份恢复

查看 log_bin 事件 可以看到删除日志

数据恢复删除之前

mysql备份恢复

数据恢复删除之后

mysql备份恢复

查看最终恢复结果

mysql备份恢复


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql备份恢复

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql备份与恢复

1、备份命令(用户名:root;密码:123;端口:3306)格式:mysqldump -h主机名 -p端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql例如: mysqldump -h 192.168.1.100 -p 3306
mysql备份与恢复
2015-05-28

mysql-备份与恢复-03

目录1.mysql二进制包安装1.1 安装创建mysql用户解压安装包添加环境变量建立数据存放目录初始化数据库生成配置文件添加到service服务启动mysql服务登陆mysql并修改root密码2.数据备份与恢复2.1 备份方案2.2 备分工具mysqldu

	mysql-备份与恢复-03
2019-02-05

mysql怎么恢复备份

mysql 备份恢复步骤:确认备份文件的完整性。停止 mysql 服务。使用 mysql 命令行工具导入备份文件。如果需要,使用 mysql 命令行工具恢复用户和权限。MySQL 备份恢复如何恢复 MySQL 备份?恢复 MySQL 备
mysql怎么恢复备份
2024-04-14

《MySQL数据库》MySQL备份恢复

前言MySQL数据库最重要的部分就是数据,所以保证数据不被损坏尤为重要,大家都知道911事件,当时非常多的数据丢失,导致经济混乱。接下来我们就来讲讲MySQL是如何保障数据完整,应对特殊情况,如何恢复等。备份备份检查:保证备份没有问题,并且定期演练恢复数据。备
《MySQL数据库》MySQL备份恢复
2016-12-27

mysql简单备份与恢复

1.备份mysqldump -u root -h 127.0.0.1 -p --set-gtid-purged=OFF  abc > /data/mysqlBak/abc_20200206.sql2.恢复将备份的数据库恢复到新的数据库abc-21)需要创建数据
mysql简单备份与恢复
2016-06-21

浅析MySQL 备份与恢复

1、简介数据无价,MySQL作为一个数据库系统,其备份自然也是非常重要且有必要去做。备份的理由千千万,预防故障,安全需求,回滚,审计,删了又改的需求等等,备份的重要性不言而喻。除了备份本身, 如何使用备份来恢复 服务也是一项重点内容,不能用
2022-05-20

编程热搜

目录