MySQL没有备份,数据丢失怎么办

最近发生了一件恶心的事情,我在公司负责技术部门,公司有一个项目是外包做的,当时提供给外包git分支后就静等他们开发完成,检查没问题就一直跑着了
忽然有一天运营负责人找过来,发现他们很多天,辛辛苦苦配置的各种数据都没了,而这个项目的数据库不在公司内部数据库管理中,并没有备份,只好通过二进制日志恢复一下了

前提是开了binlog!


image.png
  • 第一步,先把现有数据备份一下

  • 第二步,找到MySQL binlog的目录,查看导出最近的一份或者指定时间内的数据
    由于日志文件是加密的二进制文件,需要使用MySQL自带的MysqlBinlog工具进行转换

show binary logs

mysqlbinlog --start-position=214 --stop-position=1257 /data/3307/mysql-bin.000006 > /tmp/binlog.sql

进库导入binlog.sql

mysql source /tmp/binlog.sql

  • 第三步,查看找回数据或者筛选出必要insert及updateSQL,执行一遍
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容