mysql通过binlog恢复删除数据】的更多相关文章

删除误操作有时会意外出现,如果你有备份表数据的好习惯,那么至少你可以追回备份前的那些数据.如果我们打开了mysql的binlog,那么可以通过它的增量操作日志来恢复数据.怎么打开binlog前篇已有说明(参见windows下打开binlog),这里举例说明如何通过binlog进行恢复: 1.看下当前的binlog位置,这里称为位置1: mysql> show master status; +---------------------+----------+--------------+-----…
mysql中bin-log在mysql默认状态下是没有打开的,我们要先打开mysql 开启bin-log功能,然后再通过备份的bin-log进行数据库恢复了. 具体的操作是通过mysqlbinlog这个指令来完成的 /mysql/bin/mysqlbinlog --database=fox --start-date="2013-01-22 5:00:00" --stop-date="2013-01-22 9:00:00" /mysql/data/mysql-bin.…
MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库.用于slave端执行增删改,保持与master同步. 1.开启binary log功能 对于mysql也是支持增量备份,但要打开mysql的bin log功能. 我们修改mysql的配置文件.linux是/etc/my.cnf,windows是mysql的安装目录/my.ini 我们在[mysqld]下面加上log-bin一行代码,如下面.…
为保证没有其他参数配置影响,重新安装配置了一台最小化安装的CentOS7虚拟机 1. 基础知识
 安装mysql5.6数据库Mysql binlog初步理解 2. 配置mysql 开启binlog.修改binlog模式为Row Level模式
 [root@localhost ~]# vi /etc/my.cnf 
修改mysql配置文件,在[mysqld]下增加以下内容 # 注释: 开启binlog 文件名以mysql-bin开头 log-bin = mysql-bin # 注释: 备份恢复模…
MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复 * 主从数据库.用于slave端执行增删改,保持与master同步. 1.开启binary log功能 需要修改mysql的配置文件,本篇的实验环境是win7,配置文件为mysql安装目录\MySQL Server 5.1下的my.ini,添加一句log_bin = mysql_bin即可      eg:      [mysqld]            …
模拟数据恢复的案例 有些时候脑瓜就会短路,难免会出错 场景:在生产环境中,我们搭建了mysql主从,备份操作都是在从备份数据库上 前提:有最近一天或者最近的全备 或者最近一天相关数据库的备份 最重要的是,二进制日志必须完整 服务器信息 角色 端口 192.168.1.21 mysql主 30136 192.168.1.21 mysql从 30236 接下来,我们模拟下 案例一.update未加where条件,误操作修改数据 全备命令: mysqldump -uroot -p123456  --s…
如果mysql不小心操作失误导致数据错误或者丢失这时候binlog起到了很大的作用 恢复有几种方式 1.按时间恢复--start-datetime   如果确定了时间点,那么按时间恢复是一个再好不过的事,一般是通过日常的定期备份+差异备份(日志) 如果日常备份在4点,出错的时间在12:00点,12:30发现的,首先我们要确认12点出了什么错,12点以后的数据还能不能继续使用,如果不影响,那么我们只需跳过12:00执行的数据即可 首先,恢复4点的备份 然后,通过binlog获取4点到11:59的数…
需求:需要给开发提供一个2018年9月30号的数据,按照我们公司正常备份策略来说,直接找到对应时间的备份数据,解压导入即可,恰好这个时间节点的数据没有,只备份到2018年9月25号的,糟糕了吧 咋办呢,咱们利用binlog日志来恢复吧,如果二进制日志都没有,那还恢复啥呢,运维咋当滴 话不多说,进入正题 一.导入数据 我的源数据:baodian_2018-09-25_.tar.bz2               #这一串数字是pos节点位置,等下利用二进制恢复的时候需要用到,时间:9月 25 01…
查看log-bin是否开启:mysql> show variables like '%log%bin%';+---------------------------------+-------+| Variable_name                   | Value |+---------------------------------+-------+| log_bin                         | ON    || log_bin_trust_function_…
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上一篇文章,我们讲解了如何通过mysql的binlog日志恢复mysql数据库,文章连接为<烂泥:通过binlog恢复mysql数据库>.其中我们提到了的备份数据库要晚与要恢复的数据库时间,即要恢复的数据库在前,而备份的数据库在后. 当时我提到说会单独写一篇文章讲解这个情况,本篇文章我就来介绍如何通过binlog日志恢复比备份数据库早时的数据库状态.我们还是以上篇文章的数据及备份文件为基础,来进行本篇文章的讲解. ailanni数据库完整备份时,…
众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废话不多说,下面是梳理的binlog日志操作解说: 一.初步了解binlogMySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的.-----…
简介 在生产的过程中有这么一个业务场景:比如我在2016-11-19 09:30:00 通过mysqldump的方式备份了数据库,但是在2016-11-19 10:30:00的时候数据库崩溃了,如果通过我们的备份文件来恢复,也只能恢复到 2016-11-19 09:30:00 这个时间点,而9.30分到10:30分这一个小时的数据恢复不了,这时候我们可以通过mysql的binlog日志来恢复没有备份到的这一小时的数据. 1.开启mysql的binlog日志(默认情况下没有开启) #vim /et…
众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 一.简单了解binlogMySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的.===============================…
a.开启binlog日志:1)编辑打开mysql配置文件/etc/mys.cnf[root@vm-002 ~]# vim /etc/my.cnf在[mysqld] 区块添加 log-bin=mysql-bin 确认是打开状态(mysql-bin 是日志的基本名或前缀名): b. 下面开始进行场景模拟:1)ops库会在每天凌晨4点进行一次完全备份的定时计划任务 这里手动执行下,将ops数据库备份到/opt/backup/ops_$(date +%F).sql.gz文件中:[root@vm-002…
众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废话不多说,下面是梳理的binlog日志操作解说: 一.初步了解binlogMySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的.-----…
日常开发,运维中,经常会出现误删数据的情况.误删数据的类型大致可分为以下几类: 使用 delete 误删行 使用 drop table 或 truncate table 误删表 使用 drop database 语句误删数据库 使用 rm 命令误删整个 MySQL 实例. 不同的情况,都会有其优先的解决方案: 针对误删行,可以通过 Flashback 工具将数据恢复 针对误删表或库,一般采用通过 BINLOG 将数据恢复. 而对于误删 MySQL 实例,则需要我们搭建 HA 的 MySQL 集群…
导读 我一直都主张,技多不压身(没有学不会的技术,只有不学习的人),多学一项技能,未来就少求人一次.网上经常听到xxx删库跑路,万一真的遇到了,相信通过今天的学习,也能将数据再恢复回来~~~ 当然啦,备份数据/还原数据也是挺重要的,可以看我另一篇:点我直达 如果感觉这样还不安全,可以考虑授予用户权限:点我直达 介绍 记录着mysql数据库中的一些增删改操作(没有查询) 功能 数据复制(主从复制) 数据恢复 注意事项 开启二进制日志会有性能的消耗!!! 查看二进制日志是否开启 查看是否开启:sho…
在前面,我们了解了mysql binlog日志的作用以及使用方法:  http://www.php20.cn/article/237 在后面讲到了,可以通过binlog进行恢复数据,那么,具体步骤是怎么样的呢? 数据库备份 数据库恢复的先决条件是,定时备份数据库,缩小binlog恢复范围.首先我们备份测试数据库数据: 1 mysqldump -uroot -p --database test > testBackSql.sql 假定它为最后一次备份数据. test数据库,test数据表最后一个i…
MySQL的binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全量备份+binlog日志恢复增量数据部分). 一.关于binlogMySQL的二进制日志binlog可以说是MySQL数据库服务最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的. DDL: - Data Definition Languag…
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服务后.查看日志功能是否正常开启 my…
一.查看下自己的MySQL是否开启了binlog日志 # 是否启用binlog日志 OFF:关闭 ON:开启 show variables like 'log_bin'; 二.开启binlog日志 在linxu服务器中找到my.cnf : mysql --help | grep 'Default options' -A 1 执行结果 Default options are read from the following files in the given order: /etc/my.cnf…
binlog介绍 binlog,即二进制日志,它记录了数据库上的所有改变. 改变数据库的SQL语句执行结束时,将在binlog的末尾写入一条记录,同时通知语句解析器,语句执行完毕. binlog格式 基于语句,无法保证所有语句都在从库执行成功,比如update ... limit 1; 基于行,将每一次改动记为binlog中的一行.在执行一个特别复杂的update或者delete操作时,基于行的格式会有优势. 登录到mysql查看binlog 只查看第一个binlog文件的内容 show bin…
对于变化频率非常快的数据来说,如果还选择传统的静态缓存方式(Memocached.File System等)展示数据,可能在缓存的存取上会有很大的开销,并不能很好的满足需要,而Redis这样基于内存的NoSQL数据库,就非常适合担任实时数据的容器. 但是往往我们又有数据可靠性的需求,采用MySQL作为数据存储,不会因为内存问题而引起数据丢失,同时也可以利用关系数据库的特性实现很多功能. 所以就会很自然的想到是否可以采用MySQL作为数据存储引擎,Redis则作为Cache.而这种需求目前还没有看…
mysql开启binlog,至于为什么要开启binlog,可以google下. ## 设置server_id,一般设置为IP server_id= ## 复制过滤:需要备份的数据库名,多个库以逗号分隔,输出binlog ## binlog-do-db=mydb ## 复制过滤:不需要备份的数据库,不输出(mysql库一般不同步) ## binlog-ignore-db=mysql #若涉及及同步函数或者存储过程需要配置,否则主备会产生异常不能同步 log_bin_trust_function_c…
mysql 利用binlog增量备份,还原实例 张映 发表于 2010-09-29 分类目录: mysql 标签:binlog, mysql, mysqldump, 增量备份 一,什么是增量备份 增量备份,就是将新增加的数据进行备份.假如你一个数据库,有10G的数据,每天会增加10M的数据,数据库每天都要备份一次,这么多数据是不是都要备份呢?还是只要备份增加的数据呢,很显然,我只要备份增加的数据.这样减少服务器的负担. 二,启用binlog vi my.cnf log-bin=/var/lib/…
之前在没有备库的情况下,遇到过more than 'max_binlog_cache_size' bytes of storage 的错误,今天在主备复制的时候又遇到了这个问题 Last_SQL_Errno: 1197 Last_SQL_Error: Worker 14 failed executing transaction '' at master log mysql-bin.050101, end_log_pos 2669492980; Could not execute Delete_r…
[转载]mysql的binlog安全删除  理论上,应该在配置文件/etc/my.cnf中加上binlog过期时间的配置项,expire_logs_days = 10 但是如果没有加这一项,随着产生越来越多的binlog,磁盘被吃掉了不少.可以直接删除binlog文件,但是可以通过mysql提供的工具来删除更安全.因为purge会更新mysql-bin.index中的条目,而直接删除的话,mysql-bin.index文件不会更新.mysql-bin.index的作用是加快查找binlog文件的…
最近读一份关于“数据库事务故障恢复"的技术资料,发现对mysql的binlog的认识不够清楚,查阅mysql reference manual有所收获,作为笔记,记录于此. 1. What's binlog         binlog即binary log,根据mysql文档的说明,binlog包含一系列描 述数据库状态变更的"events"(如table create或insert/update等操作),也包含可能对数据库造成潜在更新的"events"…
binary log 作用:主要实现三个重要的功能:用于复制,用于恢复,用于审计.binary log 相关参数:log_bin设置此参数表示启用binlog功能,并指定路径名称log_bin_index设置此参数是指定二进制索引文件的路径与名称binlog_do_db此参数表示只记录指定数据库的二进制日志binlog_ignore_db此参数表示不记录指定的数据库的二进制日志max_binlog_cache_size此参数表示binlog使用的内存最大的尺寸binlog_cache_size此…
--mysql对binlog的处理 ------------------------2014/05/28 Binlog是mysql以二进制形式打印的日志,它默认不加密,不压缩.每个正常的binlog文件头部,有4个字节的标记,值为0xfe 0x62 0x69 0x6e.LOG_EVENT是binlog里的单位,即正常情况下binlog按照逐LOG_EVENT的形式增长.除去头部的标记,binlog就是一个LOG_EVENT的序列.每个LOG_EVENT都独立单元,没有互相引用的关系,它也有自己的…