zoukankan      html  css  js  c++  java
  • 阿里云mysql数据库恢复总结,mysql binlog日志解析

    由于意外。。阿里云mysql中有一张表被全部删除了,深吸三口气候,开始解决。

    首先用凌晨的自动备份的,进行全量恢复,然后找binlog日志(见下文),查找从全量备份到数据删除之间的记录

    这导致了一个问题,为了恢复那一张表,其他的表的数据也回滚到了凌晨备份的事后。。。

    由于当时比较紧张,而且时间有限,所以考虑不周,事后总结:

    应该在数据库实例中新建一个新的临时库,将备份恢复到临时库中,然后在临时库导出被误删的表的数据,然后再将数据导入到正式的数据库中对应表中。

    最后再从binlog日志文件中只寻找删除的表,从凌晨到删除这几个小时之间的数据。

    数据丢失对任意一个网站来说都是灾难性的,在开发过程中,update和delete操作一定要跟上条件,而且条件中坚决杜绝出现类似where 1=1  恒等的情况,以免后面的and条件因为逻辑或者外星人入侵等问题没有组装上,从而导致悲剧产生。

    mysql binlog3种格式,row,mixed,statement. 解析工作

    mysqlbinlog --base64-output=DECODE-ROWS -v mysql-bin.000144 |more

    --base64-output=DECODE-ROWS: 会显示出row模式带来的sql变更。

    -v :显示statement模式带来的sql语句

    outous-MacBook-Pro:bin user$ ./mysqlbinlog --base64-output=DECODE-ROWS -v /Users/dir/mysql-bin.000186 > /Users/dir/log.txt
    outous-MacBook-Pro:bin user$ pwd
    
    /usr/local/mysql/bin
  • 相关阅读:
    jvm-类加载
    jvm调优
    jdk8与jdk9的共存
    eclipse的插件开发-启动时间
    斐波那契数列算法逐层优化(C++)
    2G.处女座与复读机(C++)
    3I.处女座的约会(C++)
    3D.处女座的训练(C++)
    3E.处女座和小姐姐(C++)
    3C.处女座点名(C++)
  • 原文地址:https://www.cnblogs.com/walter371/p/4184468.html
Copyright © 2011-2022 走看看