在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

如何解决线上数据库删了的问题

109次阅读
没有评论

共计 2289 个字符,预计需要花费 6 分钟才能阅读完成。

本篇内容主要讲解“如何解决线上数据库删了的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“如何解决线上数据库删了的问题”吧!

事件背景

MySQL 数据库每日零点自动全备

某天上午 9 点,二狗子不小心 drop 了一个数据库

我们需要通过全备的数据文件,以及增量的 binlog 文件进行数据恢复

主要思想与原理

利用全备的 sql 文件中记录的 CHANGE MASTER 语句,binlog 文件及其位置点信息,找出 binlog 文件增量的部分

用 mysqlbinlog 命令将上述的 binlog 文件导出为 sql 文件,并剔除其中的 drop 语句

通过全备文件和增量 binlog 文件的导出 sql 文件,就可以恢复到完整的数据

过程示意图

操作过程

模拟数据

CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` char(20) NOT NULL, `age` tinyint(2) NOT NULL DEFAULT  0 , PRIMARY KEY (`id`), KEY `index_name` (`name`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 mysql  insert student values(1, zhangsan ,20); mysql  insert student values(2, lisi ,21); mysql  insert student values(3, wangwu ,22);

全备命令

# mysqldump -uroot -p -B -F -R -x --master-data=2 test|gzip  /server/backup/test_$(date +%F).sql.gz

参数说明:

-B 指定数据库

-F 刷新日志

-R 备份存储过程等

-x 锁表

–master-data 在备份语句里添加 CHANGE MASTER 语句以及 binlog 文件及位置点信息

继续插入数据并删库

mysql  insert student values(4, xiaoming ,20); mysql  insert student values(5, xiaohong ,20);

在插入数据的时候我们模拟误操作,删除 test 数据库。

mysql  drop database test;

此时,全备之后到误操作时刻之间,用户写入的数据在 binlog 中,需要恢复出来。

查看全备之后新增的 binlog 文件

# cd /server/backup/ # ls test_2020-08-19.sql.gz # gzip -d test_2020-08-19.sql.gz # grep CHANGE test_2020-08-19.sql -- CHANGE MASTER TO MASTER_LOG_FILE= mysql-bin.000003 , MASTER_LOG_POS=107;

这是全备时刻的 binlog 文件位置,即 mysql-bin.000003 的 107 行,因此在该文件之前的 binlog 文件中的数据都已经包含在这个全备的 sql 文件中了

移动 binlog 文件,并读取 sql,剔除其中的 drop 语句

# cp /data/3306/mysql-bin.000003 /server/backup/ # mysqlbinlog -d test mysql-bin.000003  mysql-bin.000003.sql

接下来,使用 vim 编辑 mysql-bin.000003.sql 文件,剔除 drop 语句

注意:在恢复全备数据之前必须将该 binlog 文件移出,否则恢复过程中,会继续写入语句到 binlog,最终导致增量恢复数据部分变得比较混乱

恢复数据

# mysql -uroot -p   test_2020-08-19.sql # mysql -uroot -p -e  select * from test.student;  +----+----------+-----+ | id | name | age | +----+----------+-----+ | 1 | zhangsan | 20 | | 2 | lisi | 21 | | 3 | wangwu | 22 | +----+----------+-----+

此时恢复了全备时刻的数据,然后使用 mysql-bin.000003.sql 文件恢复全备时刻到删除数据库之间,新增的数据。

# mysql -uroot -p test   mysql-bin.000003.sql # mysql -uroot -p -e  select * from test.student;  +----+----------+-----+ | id | name | age | +----+----------+-----+ | 1 | zhangsan | 20 | | 2 | lisi | 20 | | 3 | wangwu | 20 | | 4 | xiaoming | 20 | | 5 | xiaohong | 20 | +----+----------+-----+

此时,整个恢复过程结束,是不是很简单呢? 没错,就是这么简单!!

到此,相信大家对“如何解决线上数据库删了的问题”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-27发表,共计2289字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 亚洲在线看 | 欧美xxxx色视频在线观看 | 香蕉国产综合久久猫咪 | 激情综合色综合啪啪五月丁香 | 欲色影视天天一区二区三区色香欲 | 日产免费线路一二区一去 | 亚洲熟妇av乱码在线观看 | 欧美日韩午夜群交多人轮换 | 国产精品九九久久一区hh | 国产亚洲欧美一区 | 国产精品国产三级在线专区 | 国产成人深夜福利在线观看 | 成年人视频www| 狼友av永久网站免费观看孕交 | 成人综合影院 | 日韩久久精品视频 | 国产精品久久久久毛片真精品 | 粗大猛烈进出高潮视频 | 国产福利在线观看永久视频 | 日本精品视频一区 | 88国产精品欧美一区二区三区 | 国产亚洲另类无码专区 | 日本欧美成人免费观看 | 日韩 无码 偷拍 中文字幕 | 久久精品中文字幕第一页 | 国产免费午夜a无码v视频 | 欧美午夜精品一区二区蜜桃 | 中文字幕日韩一区二区三区不卡 | 亚洲乱色熟女一区二区三区麻豆 | 国产免费久久精品国产传媒 | 国产精品一区二区久久不卡 | 国产精品视频网站 | av亚洲产国偷v产偷v自拍 | 三级在线观看网站 | 久久综合九色综合97_ 久久久 | 日本a毛片 | 国产精品一区二区av麻豆 | 精品亚洲一区二区三区在线观看 | 一区二区三区在线电影 | 亚洲av蜜桃永久无码精品 | 精品视频自拍 |