mysql备份恢复
admin
2023-05-22 05:42:08
0

             MYSQL备份恢复

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

1binlog

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事件发生position287,事件结束position416

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工具进行备份了

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

#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还原

1mysqldump备份方案:

每周一凌晨1点全库备份

2、备份步骤

mysql备份恢复

模拟一个完整全库备份

mysql备份恢复

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

mysql备份恢复

模拟失误删除数据

mysql备份恢复

mysql备份恢复

创建tom3

mysql备份恢复

mysql备份恢复

mysql备份恢复

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

mysql备份恢复

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

数据恢复删除之前

mysql备份恢复

数据恢复删除之后

mysql备份恢复

查看最终恢复结果

mysql备份恢复


相关内容

热门资讯

凤凰深入日本地震灾区:老人护理... 日本熊本强震发生后,不少老人护理设施受到影响。凤凰卫视特派记者蒋文彬去到当地一处接收有特殊照护需求老...
摩洛哥移民:要一路去俄罗斯和中... 近日,美国独立记者尼克·雪利抵达西班牙飞地休达,采访还滞留在休达的摩洛哥移民。部分移民表示,他们的下...
四川甘孜州一交通事故致5死1伤... 2026年7月29日,四川甘孜州炉霍县泥巴乡境内(国道G227线)发生一起重型半挂油罐车与普通两轮摩...
西班牙飞地移民危机在欧盟内部引... 【环球网报道 记者 张江平】综合英国《卫报》等媒体8月3日报道,近日,西班牙位于北非的飞地休达发生移...
美国拉响感染警报:罕见病毒首现... 美国纽约州近日首次发现一种尚无疫苗或特效药的罕见蜱传病毒;与此同时,一场由食物或饮用水污染引发的寄生...
19岁丹麦公主开始服军役,不要... 据参考消息援引英国《独立报》等媒体当地时间3日报道,丹麦公主伊莎贝拉已抵达斯劳厄尔瑟一处军事营地,开...
打印机墨盒怎么加墨?大佬求解 打印机墨盒里面的墨它是有限的,一般用完之后需要再次的添加才可以继续使用打印,这种墨盒我们自己添加墨可...
惠普1010打印机驱动怎么安装... 1、给电脑充电,打开电脑找到电脑的浏览器,输入打印机的官方网站,到打印机官方网站上搜索本打印机型号,...
iphone手机访问限制功能在... 很多小伙伴还不知道iphone手机访问限制功能在哪里设置?下面小编给大家介绍一下iphone手机设置...
win10共享打印机拒绝访问怎... 有些办公人员在使用打印机共享的时候,发现系统提示:共享打印机拒绝访问。那么win10共享打印机拒绝访...