作者:一个人的孤独自白

cnblogs.com/-mrl/p/9959365.html

相信后端研发的同学在开发过程经常会遇到产品临时修改线上数据的需求,如果手法很稳那么很庆幸可以很快完成任务,很不幸某一天突然手一抖把表里的数据修改错误或者误删了,这个时候你会发现各种问题反馈接踵而来。

如果身边有BDA或者有这方面经验的同事那么可以很快解决这个问题,如果没有那么希望这篇文章可以帮到你。

第一步:保证mysql已经开启binlog,查看命令:

查看binklog是否开启

show variables like '%log_bin%';

查看binlog存放日志文件目录(如下图,博主binlog目录为/data/mysql):

show variables like '%datadir%';

值为OFF,需开启,值为ON,已开启。

如果没有开启binlog,也没有预先生成回滚SQL,那可能真的无法快速回滚了。对存放重要业务数据的MySQL,强烈建议开启binlog。

第二步:进入binlog文件目录,找出日志文件

第三步:切换到mysqlbinlog目录(当线上数据出现错误的时候首先可以询问具体操作人记录时间点,这个时候可以借助mysql自带的binlog解析工具mysqlbinlog,具体位置在mysql安装目录**/mysql/bin/下)

第四步:通过mysqlbinlog工具命令查看数据库增删改查记录(必须切换到mysqlbinlog目录才有效)

例子1:查询2018-11-12 09:00:00到2018-11-13 20:00:00 数据库为 youxi 的操作日志,输入如下命令将数据写入到一个备用的txt文件中

 mysqlbinlog --no-defaults --database=youxi --start-datetime="2018-11-12 09:00:00" --stop-datetime="2018-11-13 20:00:00" /data/mysql/mysql-bin.000015    > template_coupon_tb_product_category.txt

例子2:查询2018-11-12 09:00:00到2018-11-13 20:00:00 数据库为 youxi 的操作日志,并输出到屏幕上

mysqlbinlog --no-defaults --database=youxi --start-datetime="2018-11-12 09:00:00" --stop-datetime="2018-11-13 20:00:00" /data/mysql/mysql-bin.000015   |more

例子3:查询2018-11-12 09:00:00到2018-11-13 20:00:00 数据库为 youxi 的操作日志,并且过滤出 只包括 template_coupon_tb_product_category 表数据的操作记录 ,输入如下命令将数据写入到一个备用的txt文件中

mysqlbinlog --no-defaults --database=youxi --start-datetime="2018-11-12 09:00:00" --stop-datetime="2018-11-13 20:00:00" /data/mysql/mysql-bin.000015   | grep template_coupon_tb_product_category   > template_coupon_tb_product_category.txt

mysqlbinlog 命令的语法格式:
mysqlbinlog mysql-bin.0000xx | mysql -u用户名 -p密码 数据库名--------------------------------------------------------
常用参数选项解释:
--start-position=875 起始pos点
--stop-position=954 结束pos点
--start-datetime="2016-9-25 22:01:08" 起始时间点
--stop-datetime="2019-9-25 22:09:46" 结束时间点
--database=zyyshop 指定只恢复zyyshop数据库(一台主机上往往有多个数据库,只限本地log日志)
--------------------------------------------------------
不常用选项:
-u --user=name 连接到远程主机的用户名
-p --password[=name] 连接到远程主机的密码
-h --host=name 从远程主机上获取binlog日志
--read-from-remote-server 从某个MySQL服务器上读取binlog日志

第五步:利用第四步输出的sql语句或者txt文本进行语句过滤,重新插入数据或更新数据

END

推荐好文

强大,10k+点赞的 SpringBoot 后台管理系统竟然出了详细教程!分享一套基于SpringBoot和Vue的企业级中后台开源项目,代码很规范!
能挣钱的,开源 SpringBoot 商城系统,功能超全,超漂亮!

MySQL误删数据?快速恢复指南来了!相关推荐

  1. MySQL误删数据救命指南:必收藏

    首先看下mysql误删数据排名最前的几种是: 1.误删文件 2.误删库.表 3.错误全表删除 / 更新 4.升级操作失误 都来看看你命中过几个,hoho. 简单说下我亲手造的一个大事故吧. 那大概是一 ...

  2. MySQL误删数据?快速恢复!

    MySQL误删数据?快速恢复! 第一步:保证mysql已经开启binlog,查看命令: 查看binklog是否开启! show variables like '%log_bin%'; 查看binlog ...

  3. mysql删除员工_MySQL误删数据救命指南:开发人员必收藏

    首先看下mysql误删数据排名最前的几种是: 1.误删文件 2.误删库.表 3.错误全表删除 / 更新 4.升级操作失误 都来看看你***过几个,hoho. 简单说下我亲手造的一个大事故吧. 那大概是 ...

  4. MySQL误删数据后,查找操作日志并恢复数据

    有时候直接操作数据库,可能会出现误删除一些数据的情况,比如删了某个表中某一行数据,事后发现该条数据是误删的,还需要恢复,但是又不太记得具体每个字段原来的数据是什么了,只能要查到之前删掉的数据每个字段值 ...

  5. asp写入mysql拿shell_mysql误删数据快速恢复

    相信后端研发的同学在开发过程经常会遇到产品临时修改线上数据的需求,如果手法很稳那么很庆幸可以很快完成任务,很不幸某一天突然手一抖把表里的数据修改错误或者误删了,这个时候你会发现各种问题反馈接踵而来.如 ...

  6. MySQL误删数据后快速恢复的方法

    传统解法 用全量备份重搭实例,再利用增量binlog备份,恢复到误操作之前的状态.然后跳过误操作的SQL,再继续应用binlog. 利用binlog2sql快速闪回 首先,确认你的MySQL serv ...

  7. mysql误删数据后 快速恢复的办法

    手抖不小心把表里的数据删除或修改错误怎么办?该如何快速恢复呢?遇到这样的问题怎么办?希望下面这篇文章能够帮助到你! 第一步:保证mysql已经开启binlog,查看命令: 查看binklog是否开启 ...

  8. 1 恢复MySQL误删数据

    作者:一个人的孤独自白 cnblogs.com/-mrl/p/9959365.html 相信后端研发的同学在开发过程经常会遇到产品临时修改线上数据的需求,如果手法很稳那么很庆幸可以很快完成任务,很不幸 ...

  9. mysql误删了数据_MySQL误删数据

    首先看下mysql误删数据排名最前的几种是: 1.误删文件 2.误删库.表 3.错误全表删除 / 更新 4.升级操作失误 都来看看你命中过几个,hoho. 简单说下我亲手造的一个大事故吧. 那大概是一 ...

最新文章

  1. MySQL + JSON = 王炸!!
  2. 当思科交换机密码遗忘之后......(附图)
  3. sort command
  4. 【Git1】指令,分支,ssh免密登录
  5. 算法章节 数组、链表、栈、队列
  6. 大家觉得创业需要些什么
  7. mysql 5.5 udf_MYSQL5漏洞之udf提权
  8. Mysql Sql语句令某字段值等于原值加上一个字符串
  9. 云计算之paas架构解析
  10. 芯邦主控的U盘量产教程
  11. 网安之php开发第十四天
  12. 深圳入职两周的感想——防止入坑
  13. 基于java+SpringBoot+HTML+MySQL精准扶贫网站的设计与实现
  14. 短信业务 防恶意攻击解决方案
  15. 响应时间过长问题分析
  16. 想剑网三妹子最多服务器,女生入坑《剑网3》,首选门派是蓬莱,但千万不要碰五毒...
  17. 【无2022起重信号司索工(建筑特殊工种)考试题模拟考试题库及模拟考试
  18. 超强配置 索爱A5无线蓝牙耳机重磅来袭
  19. MATLAB处理图像时出错:错误使用 rgb2gray>parse_inputs (line 80)MAP 必须为 m x 3 的数组。
  20. 创业早期容易犯哪些错误?

热门文章

  1. 马斯克:特斯拉智能召唤功能已被使用超过55万次
  2. 如何才能招到马云这样的人才?海尔张瑞敏这样说...
  3. 华为发布7nm制程麒麟810芯片:自研达芬奇架构 nova5首搭
  4. 微信上让人反感的5种行为 敢不敢看看你是否也犯过
  5. 就算边框缩窄到极致也不用刘海屏?魅族16s最新渲染图曝光
  6. 初中数学最全几何模型_老师熬夜整理:初中数学最全几何模型大汇总,学生大呼“过瘾”...
  7. 初入c++(三)this指针,友元函数,友元类
  8. 用封装的栈回溯类捕获段错误
  9. ik分词器 分词原理_ElasticSearch 集成Ik分词器
  10. python怎么做软件程序_Revit二次开发python怎么做?人工智能python语言在BIM软件高效建模的运用尝试...