`
dcj3sjt126com
  • 浏览: 1877531 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

不小心 删除数据--MySQL数据恢复

阅读更多

打开mysql的bin log功能:
对于mysql也是支持增量备份,但要打开mysql的bin log功能。

我们修改mysql的配置文件。linux是/etc/my.cnf,windows是mysql的安装目录/my.ini
我们在[mysqld]下面加上log-bin一行代码,如下面。

  1. [mysqld]
  2. log-bin=mysql-bin
复制代码

加完后重起mysql即可。

某客户更新数据的时候,误删了数据库的内容,因为数据库做了主从,但是没有做备份(备份很重要啊!)幸好开启了bin-log,之后只好把整个日志的记录拿回来本地进行恢复。

 

之后自己也做了一个简单的测试,对数据进行恢复,具体如下:

1、新建一个表
CREATE TABLE  `lynn`.`sn_test` ( `name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL , `age` INT( 3 ) NOT NULL ) ENGINE = MYISAM;

2、插入多条数据
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn1', '1');
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn2', '2'); 
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn3', '3'); 
INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn4', '4');

3、查看数据并删除
mysql> select * from sn_test;
+-------+-----+
| name  | age |
+---------+---+
| lynn1 |   1 |
| lynn2 |   2 |
| lynn3 |   3 |
| lynn4 |   4 |
+---------+-----+
4 rows in set (0.00 sec)

mysql> delete from sn_test;
Query OK, 4 rows affected (0.00 sec)

mysql> select * from sn_test;
Empty set (0.00 sec)

4、mysqlbinlog恢复数据
mysqlbinlog mysql-bin.000006 > 1.sql
查看1.txt里面数据插入的纪录,把删除之前的数据进行恢复
mysqlbinlog mysql-bin.000006 --start-position=2471 --stop-position=2876 | mysql -uroot -p123

重新登录,查看数据,OK,已经成功恢复了

对于数据库操作,应该注意如下问题:
1、要常备份(全备,增量备份),出了问题可以最快恢复数据;
2、操作数据库前,要把需要操作的数据库或者表dump出来;
3、需要把bin-log打开,就算没有做上面的两步,也可以通过日志恢复数据

分享到:
评论

相关推荐

    MySQL 数据库误删除后的数据恢复操作说明(详细)

    ### MySQL 数据库误删除后的数据恢复操作说明 #### 一、引言 在日常的运维工作中,数据库的安全性与稳定性至关重要。特别是在面对如MySQL这样的关系型数据库管理系统时,一旦发生误删除的情况,如何有效地恢复数据...

    MySQL执行delete误删除数据恢复

    在MySQL数据库管理中,有时可能会不小心执行了DELETE命令,导致数据丢失。面对这种情况,有多种方法可以帮助恢复误删除的数据。本文将重点介绍如何利用MySQL的二进制日志(binlog)以及my2sql工具来恢复数据。 首先,...

    mysql恢复数据常用方法

    2. **误操作发生**:某天上午9点,一位同事不小心删除了一个名为`ops`的数据库。 3. **数据恢复过程**: - **定位binlog文件**:找到最近一次全备之后的binlog文件。 - **使用`mysqlbinlog`工具**:将binlog文件...

    MySQL误操作后快速恢复数据的方法

    然而,数据库管理员或程序员有时可能会发生误操作,如不小心删除了错误的数据,这种情况可能会导致严重的后果,特别是当涉及线上环境的核心业务数据时。在这种情况下,快速恢复数据的能力显得尤为重要。 传统的恢复...

    Mysql的Binlog数据恢复:不小心删除数据库详解

    MySQL的Binlog(二进制日志)数据恢复是一种重要的数据恢复机制,尤其在不慎删除数据库或遇到其他数据丢失情况时。本篇文章将详细介绍如何利用MySQL的Binlog进行数据恢复。 首先,Binlog是MySQL的一种日志记录系统...

    MySQL bin-log 日志清理方式

    MySQL bin-log 日志是一种重要的数据库日志机制,它可以记录数据库的所有操作,以便在出现问题时进行数据恢复和主从服务器之间的同步数据。然而,随着时间的推移,bin-log 文件会不断增长,占用大量的磁盘空间,影响...

    mysql密码破解详细

    - **备份数据**:在进行任何数据库操作之前,强烈建议先备份重要的数据。 - **权限控制**:修改完密码后,确保正确设置了用户的权限,避免不必要的安全漏洞。 - **日志监控**:开启MySQL的日志记录功能,可以追踪...

    备份与恢复mysql

    这种情况下,在进行全备份时需要小心处理,确保不遗漏任何相关的增量数据。 为了解决这些问题,可以考虑以下几种方法: - **精细化管理**:对于每个数据库,分别管理其全备份和增量备份,避免跨数据库之间的数据...

    MySQL海量数据查询优化策略.

    在处理MySQL海量数据查询优化时,我们需要关注的策略包括但不限于以下几点: 1. 优化索引使用:避免全表扫描至关重要。为此,应当在查询条件(WHERE)和排序(ORDER BY)涉及的列上创建索引。索引有助于数据库管理...

    MySQL开源闪回工具

    这个工具的主要功能是能够恢复或“闪回”数据库到一个特定的先前状态,这在用户不小心删除、修改或损坏数据时尤其有用。MySQL开源闪回工具允许DBA们在错误发生后迅速恢复数据,从而避免潜在的业务损失。 "Flashback...

    mysql 找回误删表的数据方法(必看)

    MySQL 数据库是企业级应用广泛使用的数据库管理系统,但有时候,由于操作失误,用户可能会不小心删除重要的数据表。本文将详细介绍如何在 MySQL 中找回误删表的数据,分为有备份和无备份两种情况,以及如何利用 `...

    02-MySQL-大型高级数据库基本操作

    在本部分我们将详细探讨MySQL数据库的基本操作,包括数据库的创建、查看、删除以及数据库存储引擎的相关知识点。这些操作是数据库管理的核心技能,对于任何希望深入学习MySQL的人来说都是基础且必不可少的。 首先,...

    不小心执行 rm -f,该如何恢复?

    在IT行业中,尤其是在服务器管理与数据安全领域,误删除文件是一个常见的问题,特别是当使用`rm -f`命令时,由于其强制删除的特性,往往会导致数据无法轻易恢复。然而,只要了解一定的技巧和原理,有时还是有可能...

    20201217-公众号精选文章合集《MySQL大智小技》2下1

    1. **停止所有从库** - 在进行多源复制配置时,确保先停止所有从库的复制进程,以避免数据冲突或不一致。 ``` stop slave; ``` 2. **记录当前GTID** - 获取主库的最后一个已执行的GTID,这可以通过查询`@@GLOBAL...

    通过frm idb数据库恢复.docx

    在这种情况下,掌握一种有效的数据恢复方法对于保证业务连续性和数据完整性至关重要。本文将详细介绍如何利用 MySQL 的 `.frm` 和 `.idb` 文件恢复数据库表结构和数据。 #### 恢复步骤详解 ##### 一、恢复数据表...

    MySQL Drop database不用跑路教学-full.pdf

    文档还探讨了GTID中空洞的情况,例如事务编号出现不连续的情况,这可能会影响数据恢复的准确性。 在增量恢复方面,文档描述了使用mysqlbinlog工具进行恢复的常规套路。mysqlbinlog是一个强大的工具,可以从binlog...

    使用MySQL MySqldump命令导出数据时的注意事项

    在使用MySQL的`mysqldump`命令进行数据导出时,有几点需要注意,以确保数据的安全和完整。首先,当遇到导入时的`Duplicate entry`错误时,...在处理大量数据或关键业务时,应格外小心,确保备份和恢复过程的可靠性。

Global site tag (gtag.js) - Google Analytics