打开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数据恢复相关推荐

  1. 不小心删除数据--利用MySQL的binlog恢复数据

    MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库.用于slave端执行增删改,保持与maste ...

  2. python如何删除mysql数据库_python删除数据mysql数据库连接

    Python学习之旅:访问MySQL数据库 Python学习之旅:访问MySQL数据库 MySQL是Web世界中使用最广泛的数据库服务器.为服务器端设计的数据库,能承受高并发访问. python如何使 ...

  3. php如何删除数据mysql数据库_php如何删除数据库

    php如何删除数据库 1.首先查看有哪些数据库 2.使用php删除test2<?php $dbhost = 'localhost'; // mysql服务器主机地址 $dbuser = 'roo ...

  4. c 更新mysql数据_MySQL插入更新删除数据

    数据插入 插入完整的行 INSERT INTO customers VALUES(NULL, 'Pep E. LaPew', '100 Main Street', 'Los Angeles', 'CA ...

  5. mysql 不小心删除_mysql 不小心删除数据库怎么办

    mysql不小心删除数据库的解决办法:首先打开mysql的binlog功能:然后查看二进制日志状态:接着查看二进制日志文件的操作日志:最后通过Bin log恢复数据即可. Mysql的Bin log数 ...

  6. MySQL删除数据表(DORP TABLE语句)

    在 MySQL 数据库中,对于不再需要的数据表,我们可以将其从数据库中删除.下面我们来了解一下 MySQL 数据库中数据表的删除方法. 基本语法 当需要删除一个表的时候,可以使用 DROP TABLE ...

  7. java mysql 清空表_MySQL 删除数据表

    MySQL 删除数据表 MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失. 语法 以下为删除MySQL数据表的通用语法: DROP TA ...

  8. mysql如何drop数据库_mysql drop database删除数据库命令实例讲解

    这篇文章主要介绍了mysql drop database删除数据库命令实例讲解的相关资料,需要的朋友可以参考下 mysql drop database命令用于删除一个数据库,如果试图使用drop da ...

  9. mysql 刷新二进制日志_使用binlog日志恢复MySQL数据库删除数据的方法

    binlog日志简介: binlog 就是binary log,二进制日志文件,这个文件记录了MySQL所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间. b ...

最新文章

  1. apache修改最大连接并用ab网站压力测试
  2. python条件控制语句_Python课堂笔记 条件控制语句
  3. 在任何无法理解的情况下,请编写脚本
  4. DOM 事件深入浅出(一)
  5. uml类图用什么软件画_为什么需要UML类图建模?
  6. java服务端高并发问题_Java服务端两个常见的并发错误
  7. hadoop搭建之hadoop安装
  8. C和C指针小记(五)-指针类型
  9. Vue中默认main.js
  10. 多层陶瓷电容器用处_具有综合优异电卡性能的无铅多层陶瓷电容器研究新进展...
  11. Python:实现pollard rho大数分解算法(附完整源码)
  12. linux下github上传文件,linux下将本地文件上传到github中?
  13. Spring缺少aspectjweaver.jar异常
  14. 白话解读“中台”技术
  15. 虚拟机的介绍(超详细)
  16. Elasticsearch:Scroll深度分页及返回大量数据
  17. TestDirector笔记
  18. openjpeg:解决静态链接时未定义引用错误:undefined reference to `__imp_opj_xxxxxxx'
  19. 「算法学习」:贪心算法找零问题
  20. ZigBee采集MPU6050数据

热门文章

  1. Mac中文字体显示异常修复
  2. 关于无感刷新Token,我是这样子做的
  3. typora编辑器使用教程
  4. 【面试题】 面试官:说说你对 TypeScript 中枚举类型的理解?应用场景?
  5. js第1章JavaScript快速入门 课后习题
  6. Windows小技巧 -- 批处理文件实现目录下文件批量打包压缩
  7. VMware下部署centos 8,安装vmware-tools
  8. 博弈论小课堂:非零和博弈(实现双赢)【纳什均衡点】
  9. 黑马旅游网项目详细思路和完整代码整理 -附源码
  10. 倍福--伺服配置和电机型号设置