手抖不小心把表里的数据删除或修改错误怎么办?该如何快速恢复呢?遇到这样的问题怎么办?希望下面这篇文章能够帮助到你!
第一步:保证mysql已经开启binlog,查看命令:
查看binklog是否开启
showvariableslike'%log_bin%';
查看binlog存放日志文件目录(如下图,博主binlog目录为/data/mysql):
showvariableslike'%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文件中
例子2:查询2018-11-12 09:00:00到2018-11-13 20:00:00 数据库为 youxi 的操作日志,并输出到屏幕上
例子3:查询2018-11-12 09:00:00到2018-11-13 20:00:00 数据库为 youxi 的操作日志,并且过滤出 只包括 template_coupon_tb_product_category 表数据的操作记录 ,输入如下命令将数据写入到一个备用的txt文件中
第五步:利用第四步输出的sql语句或者txt文本进行语句过滤,重新插入数据或更新数据
总结
到此这篇关于mysql误删数据后快速恢复的办法推荐的文章就介绍到这了,更多相关mysql误删数据快速恢复内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!