mysql 开启binlog日志,恢复误删的表、数据、mysql库
linux下开启mysql的binlog日志功能
1.配置mysql配置文件my.cnf(内容如下)。
#配置文件储存的位置
log-bin=mysql-bin
#5.7以及以上版本需要配置这一行(保证唯一性,可随意输入)
server-id=123
#binlog的格式 :statement(保存语句)、row(保存执行后的结果)、mixed(同时保存语句和结果)
binlog-format=ROW
#表示每执行一次就同步
sync-binlog=1
2.重启mysql服务后。查看日志功能是否正常开启
mysql> show variables like 'log_%';

恢复数据
创建新的日志控制开始点(创建新的日志文件) mysql
mysql> flush logs;
查看创建的日志文件(如下图最新生成的mysql-bin.00003) mysql

创建数据库 mysql
DROP DATABASE IF EXISTS `study1`; CREATE DATABASE `study1`;
创建数据表 mysql
DROP TABLE IF EXISTS `study1`.`tb_class`;
CREATE TABLE `study1`.`tb_class` (
`id` int(11) NOT NULL,
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`score` int(255) NULL DEFAULT NULL,
`grade` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
插入数据 mysql
INSERT INTO `study1`.`tb_class` VALUES (1, 'a', 10, 'a');
INSERT INTO `study1`.`tb_class` VALUES (2, 'a', 10, 'a');
INSERT INTO `study1`.`tb_class` VALUES (3, 'a', 10, 'cc');
INSERT INTO `study1`.`tb_class` VALUES (4, 'a', 10, 'dd');
INSERT INTO `study1`.`tb_class` VALUES (5, 'a', 10, 'ee');
INSERT INTO `study1`.`tb_class` VALUES (6, 'a', 10, 'ff');

删除表数据,插入新数据 mysql
DELETE from `study1`.`tb_class`;
INSERT INTO `study1`.`tb_class` VALUES (99999, 'a', 10, 'a');
INSERT INTO `study1`.`tb_class` VALUES (999995, 'a', 10, 'b');
INSERT INTO `study1`.`tb_class` VALUES (999996, 'a', 10, 'c');
查找恢复点,即删除数据之前的备份点(mysql-bin.000014为上面生成的日志文件) linux
/usr/bin/mysqlbinlog --no-defaults -v /var/lib/mysql/mysql-bin.000003 (可以使用find命令查找mysqlbinlog、mysql-bin.000003路径)

恢复数据(恢复点如上截图,此处找到删除前备份点为2766) linux
/usr/bin/mysqlbinlog --no-defaults -v /var/lib/mysql/mysql-bin.000003 --stop-position=2766 -v | mysql -uroot -p密码
可以看到已经恢复的数据

删除表 mysql
DROP TABLE IF EXISTS `study1`.`tb_class`;
恢复 linux
/usr/bin/mysqlbinlog --no-defaults -v /var/lib/mysql/mysql-bin.000003 --stop-position=2766 -v | mysql -uroot -p密码
删库 mysql
DROP DATABASE `study1`;
恢复 linux
/usr/bin/mysqlbinlog --no-defaults -v /var/lib/mysql/mysql-bin.000003 --stop-position=2766 -v | mysql -uroot -p密码
mysql 开启binlog日志,恢复误删的表、数据、mysql库的更多相关文章
- 使用Binlog日志恢复误删的MySQL数据
解到: MySQL的binlog日志是什么?通常是用来干什么的? 模拟一次误删数据的操作,并且使用binlog日志恢复误删的数据. 写这篇文章的初衷,是有一次我真的险些把测试数据库的一张表给删除了,当 ...
- Mysql利用binlog日志恢复数据操作(转)
a.开启binlog日志:1)编辑打开mysql配置文件/etc/mys.cnf[root@vm-002 ~]# vim /etc/my.cnf在[mysqld] 区块添加 log-bin=mysql ...
- MySQL通过binlog日志恢复数据
一.查看下自己的MySQL是否开启了binlog日志 # 是否启用binlog日志 OFF:关闭 ON:开启 show variables like 'log_bin'; 二.开启binlog日志 在 ...
- mysql开启binlog日志和慢查询日志
1)首先,为什么要开启binlog日志和慢查询日志呢? binlog日志会记录下数据库的所以增删改操作,当不小心删除.清空数据,或数据库系统出错,这时候就可以使用binlog日志来还原数据库,简单来说 ...
- MySQL的binlog日志恢复(转)
binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日 ...
- MySQL开启binlog并且保存7天有效数据
开启binlog日志(在[mysqld]下修改或添加如下配置): server-id=1 log-bin=mysql-bin binlog_format=MIXED binlog日志模式 Mysql复 ...
- 解说mysql之binlog日志以及利用binlog日志恢复数据
众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废 ...
- Mysql之binlog日志说明及利用binlog日志恢复数据操作记录
众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 一 ...
- 【转】Mysql之binlog日志说明及利用binlog日志恢复数据操作记录
众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废 ...
随机推荐
- vue后台管理系统组件弹窗
//addFormVisibleIcon可在data中设置true与falsehttps://element.eleme.io/#/zh-CN/component/installation <e ...
- caioj 1000到1030都是[水题]
caioj 1000到1030都是[水题],特此声明一下,可以不做就不要浪费时间做了
- MySQL---char和varchar的区别
char和varchar的区别 char表示定长, 即长度固定. varchar表示变长, 即长度可变. 当输入数据的长度小于定义的长度时, char会用空格填充, 而varchar则按照实际长度存储 ...
- Azure DevOps (九) 通过流水线推送镜像到Registry
上一篇文章我们研究了如何通过流水线编译出一个docker的镜像,本篇我们来研究一下,如何把编译好的镜像推送到镜像仓库去. 平时如果我们是单机部署,我们的docker本身就装在部署的机器上,我们在本机直 ...
- 帝国CMS只备份栏目和模板的方法
方法一:不备份所有帝国cms数据内容表 我们知道帝国cms有8大模型,分别是 1.新闻系统数据表 ( phome_ecms_news )2.下载系统数据表 ( phome_ecms_download ...
- mybatisPlus crud操作注意事项
1.调用IService里的update方法,如果是自定义根据除主键外其它字段更新的时候,如果给主键id设置其它值不会更新主键id,如果未设置主键id值或者设置为null,同样不会更新主键id. 2. ...
- Vue基础二之全局API、实例属性和全局配置,以及组件进阶(mixins)的详细教程(案列实现,详细图解,附源码)
本篇文章主要是写Vue.directive().Vue.use()等常用全局API的使用,vm.$props.vm.$options.vm.$slots等实例属性的使用,以及Vue全局配置.组件的mi ...
- VSCode 前端常用插件集合
Visual Studio Code 是由微软开发的一款免费.跨平台的文本编辑器.由于其卓越的性能和丰富的功能,它很快就受到了大家的喜爱. 但工欲善其事必先利其器,以下是本人为前端开发收集的常用的vs ...
- 基于.NetCore开发博客项目 StarBlog - (3) 模型设计
系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...
- vue项目中cookie的使用
Vue使用cookie和session 1:cookie和session 为了防止数据运输或存储终端,特地设置了cookie和session,他们其实都是将数据存储当地. cookie数据保存在客户端 ...