mysql误删表恢复数据 navicat查看历史sql

很多面试后端R&D的同学都被面试官问过:开发过程中手表里的数据被误修改或误删除了怎么办?第一步:确保mysql已经打开了binlog,并检查命令:看看binklog是否开放。show variables like '%log_bin%';检查binlog存储日志文件的目录(如下图,blogger binlog目录为/data/mysql):sho...

很多面试后端R&D的同学都被面试官问过:开发过程中手表里的数据被误修改或误删除了怎么办?

第一步:确保mysql已经打开了binlog,并检查命令:

看看binklog是否开放。

show variables like '%log_bin%';

检查binlog存储日志文件的目录(如下图,blogger binlog目录为/data/mysql):

show variables like '%datadir%';

检查binlog存储日志文件的目录。

值是关的,需要打开,值是开的,已经打开。

如果没有启动binlog,没有提前生成回滚SQL,可能真的无法快速回滚。强烈建议为存储重要业务数据的MySQL打开binlog。

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

步骤2:转到binlog文件目录并找到日志文件

找到日志文件。

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

第三步:切换到mysqlbinlog目录(在线数据出现错误时,可以先请具体操作人员记录时间点。这时可以使用mysql自带的binlog解析工具mysqlbinlog。具***置在mysql安装目录**/mysql/bin/)

Mysqlbinlog目录

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

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

例:查询尤溪2018-11-12 09:00:00至2018-11-13 20:00:00的操作日志,输入以下命令将数据写入备用txt文件。

2:查询尤溪2018-11-12 09:00:00至2018-11-13 20:00:00的操作日志,输出到屏幕。

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的操作日志,筛选出只包含
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日志

步骤5:使用步骤4中的sql语句或txt文本输出来过滤语句,重新插入数据或更新数据。

本文来自年轻人玩的就是心跳投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/631263.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 07-12
下一篇 07-12

相关推荐

  • u盘损坏后如何恢复数据(u盘损坏后如何恢复数据U盘不能格式化)

    优盘是一种存储方便、使用简单的便携式存储设备,所以很多用户都喜欢用优盘来存储自己的重要文件。u盘的文件坏了或者目录损坏了就坏了。u盘打不开,重要文件还在里面。边肖特意给大家带来一个修复u盘损坏的方法,可以帮你解决u盘损坏的问题。具体步骤:1。检查Chkdsk并修复错误

    2023-07-27 22:08:02
    879 0
  • 手机数据怎么恢复(手机恢复数据要多少钱)

    突然***死机,所有数据莫名其妙丢失?不小心格式化了定位器?误删重要照片和聊天记录?这时候你一定急得像热锅上的蚂蚁。毕竟你定位器里有你收藏的几千个表情包!如何找到你解决尴尬聊天的神器迫在眉睫!第一次肯定是在网上想办法。网上有各种恢复定位器数据的渠道,但无一例

    2023-07-26 19:58:01
    978 0
  • updateset多条数据 使用update语句修改表中数据

    摘要今天就简单介绍一下select语句的流程,update语句的执行过程以及涉及到的两阶段提交协议,仅供参考。Redlog(唯一重做日志(innodb引擎,它循环写入,空之间的间隔总会用完。比如配置一组4个文件,每个文件大小为4GB,可以记录总共4GB的操作)是物理日志,记录“某个数据页发

    2023-07-26 16:30:01
    235 0
  • 大数据要学什么东西(大数据具体学什么)

    序大家好,关于技术干货,我准备给大家写一篇文章《大数据面试突击系列》。来看看目前为止的进展吧!发私文:大数据面试突击系列为了更方便我的读者学习和准备大数据面试,我把以上八篇优质干货文章分别做成了PDF,今天送给大家!需要关注微信官方账号:文字代表讲述,回复【学

    2023-07-25 18:08:01
    535 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信