zoukankan      html  css  js  c++  java
  • 当mysql数据被误操作删除后,数据恢复的思路。

    MYSQL数据恢复

    当mysql的数据被误操作删除后

    大致有如下几种恢复思路

    一.直接还原

    如果数据库每天都有用mysqldump去备份,那么当数据丢失之后,只需要把sql直接导入数据库即可。

    mysql  -uroot  -ptqw961110  <  backup.sql

    二.通过bin-log还原

    但是遗憾的是,有时候数据库的数据还没来得及备份就被误操作删掉了。那么这时候bin-log就起到很好的作用了。

    bin-log在主从复制上发挥着很重要的作用,主要是记录主库最新的各种操作,并告诉从库,让从库执行同样的操作,从而实现同步复制。

    因此,当数据库数据被误删了,我们可以将bin-log里面的操作给数据库再执行一次。

    在执行还原操作前,要先停止数据库,避免有新的数据写入。

    假如不确定丢失的数据是在什么时段丢失的,建议进行一次全备操作。

    mysqlbinlog --no-defaults -d wordpress mysql-bin.000014 > bin.sql

    把所有的bin-log汇总到bin.sql

    然后把drop语句剔除掉(又或者可以针对误操作的语句进行针对性的搜索,搜索出误操作语句然后剔除掉)

    cat bin.sql | grep -i -v "drop" > bin.sql

    最后把bin-sql导入mysql即可。(操作前注意先把现有的数据进行备份)

    三.如果还原时主库还有数据需要写入不能停库

    方法步骤与第二种方法相似,也需要把bin-log变成sql,剔除drop语句。

    然后把bin-sql导入到从库里面。

    带主库写入数据完毕

    刷新主库bin-log

    将新的bin-log解析成sql导入到从库中。

    然后将服务切换到从库,让从库提供业务。

    但是,无论最后能不能恢复,误操作导致数据丢失的后果还是很严重的。小伙伴们平时一定要注意数据库的操作权限管理。

  • 相关阅读:
    手机如何当电脑的摄像头使用
    内网穿透软件
    如何在laravel框架中使用阿里云的oss
    css position 定位详解
    laravel 速查表
    window10如何查看连接过的wifi密码
    sweetalert弹出层组件
    phpstudy安装 与phpstudy_Windows web面板安装
    程序员修炼之道读后感
    JAVA-WEB-简单的四则运算
  • 原文地址:https://www.cnblogs.com/QicongLiang/p/9962281.html
Copyright © 2011-2022 走看看