不小心删除数据--MySQL数据恢复
打开mysql的bin log功能:
对于mysql也是支持增量备份,但要打开mysql的bin log功能。
我们修改mysql的配置文件。linux是/etc/my.cnf,windows是mysql的安装目录/my.ini
我们在[mysqld]下面加上log-bin一行代码,如下面。
- [mysqld]
- 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的binlog恢复数据
MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库.用于slave端执行增删改,保持与maste ...
- python如何删除mysql数据库_python删除数据mysql数据库连接
Python学习之旅:访问MySQL数据库 Python学习之旅:访问MySQL数据库 MySQL是Web世界中使用最广泛的数据库服务器.为服务器端设计的数据库,能承受高并发访问. python如何使 ...
- php如何删除数据mysql数据库_php如何删除数据库
php如何删除数据库 1.首先查看有哪些数据库 2.使用php删除test2<?php $dbhost = 'localhost'; // mysql服务器主机地址 $dbuser = 'roo ...
- c 更新mysql数据_MySQL插入更新删除数据
数据插入 插入完整的行 INSERT INTO customers VALUES(NULL, 'Pep E. LaPew', '100 Main Street', 'Los Angeles', 'CA ...
- mysql 不小心删除_mysql 不小心删除数据库怎么办
mysql不小心删除数据库的解决办法:首先打开mysql的binlog功能:然后查看二进制日志状态:接着查看二进制日志文件的操作日志:最后通过Bin log恢复数据即可. Mysql的Bin log数 ...
- MySQL删除数据表(DORP TABLE语句)
在 MySQL 数据库中,对于不再需要的数据表,我们可以将其从数据库中删除.下面我们来了解一下 MySQL 数据库中数据表的删除方法. 基本语法 当需要删除一个表的时候,可以使用 DROP TABLE ...
- java mysql 清空表_MySQL 删除数据表
MySQL 删除数据表 MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失. 语法 以下为删除MySQL数据表的通用语法: DROP TA ...
- mysql如何drop数据库_mysql drop database删除数据库命令实例讲解
这篇文章主要介绍了mysql drop database删除数据库命令实例讲解的相关资料,需要的朋友可以参考下 mysql drop database命令用于删除一个数据库,如果试图使用drop da ...
- mysql 刷新二进制日志_使用binlog日志恢复MySQL数据库删除数据的方法
binlog日志简介: binlog 就是binary log,二进制日志文件,这个文件记录了MySQL所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间. b ...
最新文章
- apache修改最大连接并用ab网站压力测试
- python条件控制语句_Python课堂笔记 条件控制语句
- 在任何无法理解的情况下,请编写脚本
- DOM 事件深入浅出(一)
- uml类图用什么软件画_为什么需要UML类图建模?
- java服务端高并发问题_Java服务端两个常见的并发错误
- hadoop搭建之hadoop安装
- C和C指针小记(五)-指针类型
- Vue中默认main.js
- 多层陶瓷电容器用处_具有综合优异电卡性能的无铅多层陶瓷电容器研究新进展...
- Python:实现pollard rho大数分解算法(附完整源码)
- linux下github上传文件,linux下将本地文件上传到github中?
- Spring缺少aspectjweaver.jar异常
- 白话解读“中台”技术
- 虚拟机的介绍(超详细)
- Elasticsearch:Scroll深度分页及返回大量数据
- TestDirector笔记
- openjpeg:解决静态链接时未定义引用错误:undefined reference to `__imp_opj_xxxxxxx'
- 「算法学习」:贪心算法找零问题
- ZigBee采集MPU6050数据