这里使用的是使用Binlog文件恢复
登录mysql
mysql -uroot -p
查看日志文件名
show binary logs;
通过退出mysql 然后通过日志名 查询文件的实际位置
find / --name ' binlog.000157'
#输出 /var/lib/mysql/binlog.000157
将解码日志到出到txt文件
-d 或 --database=name:仅显示指定数据库的更改操作。
-t 或 --start-datetime=datetime:指定开始时间,只显示在此时间之后发生的更改操作。
-v 或 --verbose:以详细模式显示更改操作,包括 SQL 语句和相关信息。
--base64-output=decode-rows:以解码行格式显示更改操作。
mysqlbinlog -v --base64-output=decode-rows /var/lib/mysql/binlog.000157 > ./000157.txt
mysqlbinlog -v --base64-output=decode-rows /var/lib/mysql/binlog.000156 > ./000156.txt
可以多导出几个日志,这个要看你要恢复的数据是近期还是之前的
将txt日志下载到本地
然后用编辑器打开搜索关键字就可以定位到插入的语句,然后你可以手动恢复或者程序分析