mysql通过binlog日志来恢复数据
简介
在生产的过程中有这么一个业务场景:比如我在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 /etc/my.cnf下添加一行(也可以另外指定binlog日志的路径)
log-bin = mysql-bin
#mysql5.7默认情况下,binlog日志文件默认放在/usr/local/mysql/data/目录下
2、对binlog日志的相关操作命令
2.1用mysqlbinlog可以查看binlog日志里的信息
./mysqlbinlog --no-defaults /usr/local/mysql/data/mysql-bin.000003
2.2刷新binlog日志
mysql> flush logs; #这样就会多出一个最新的binlog日志
2.2查看最新的 binlog日志
mysql> show master status;
2.3清空所有的binlog日志
mysql> reset master;
3、根据位置恢复
#mysqlbinlog --start-position=134 --stop-position=330 mysql-binglog.000001 > /root/test1.txt
mysql> source /root/test1.txt
--start-position 起始位置
4、根据日期
#./mysqlbinlog --start-date="2016-11-10 17:30:05"
--stop-date="2016-11-10 18:00:00"
mysql-binlog.000002 >
/root/test2.sql
mysql> source /root/test2.sql
或者
#./mysqlbinlog --start-date="2016-11-10 17:30:05"
--stop-date="2016-11-10 18:00:00" mysql-binlog.000002 | ./mysql -uroot -padmin test
将mysql-bin.000002日志文件中从2016-11-10 17:30:05到2016-11-10 18:00:00截止的sql语句导入到mysql中test
----如果有多个binlog文件,中间用空格隔开,打上完全路径
mysql通过binlog日志来恢复数据的更多相关文章
- mysql 开启binlog日志,恢复误删的表、数据、mysql库
linux下开启mysql的binlog日志功能 1.配置mysql配置文件my.cnf(内容如下). #配置文件储存的位置log-bin=mysql-bin#5.7以及以上版本需要配置这一行(保证唯 ...
- MYSQL使用二进制日志来恢复数据
mysqlbinlog工具的使用,大家可以看MySQL的帮助手册.里面有详细的用, 在这个例子中,重点是--start-position参数和--stop-position参数的使用. ·--star ...
- 监听MySQL的binlog日志工具分析:Canal
Canal是阿里巴巴旗下的一款开源项目,利用Java开发.主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费,目前主要支持MySQL. GitHub地址:https://github. ...
- 解说mysql之binlog日志以及利用binlog日志恢复数据
众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废 ...
- Mysql之binlog日志说明及利用binlog日志恢复数据操作记录
众所周知,binlog日志对于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日志说明及利用binlog日志恢复数据操作记录
众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废 ...
- MySQL二进制binlog日志说明以及利用binlog日志恢复数据
MySQL的binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全量备份+binlog日志恢复增量数据部分). 一.关于 ...
- load data 方式导入的数据不可以用binlog日志进行恢复,因为binlog里面不产生insert sql语句。
QQ群里面有人问起这个问题: 用load data 导入数据的时候,在binlog文件中记录的不是insert 语句,这样的话,如果用load data 导入数据,当需要恢复数据库的时候 bi ...
随机推荐
- 微信支付:redirect-uri参数错误 的解决办法
redirect_url参数错误: 报这个错误,说明你的公众号后台授权设置有问题(一般有两处) 一:检查授权目录 答:支付授权目录是网站发起请求的页面所在目录,并且必须是能通过url地址访问的(与真实 ...
- react学习
http://www.cnblogs.com/yunfeifei/ http://wiki.jikexueyuan.com/project/react-native/native-ui-compone ...
- install ios开发环境
环境搭建参照下边这个网址: http://itbbs.pconline.com.cn/soft/50602805.html
- mfc unicode下一些容易容易搞混的基本类型
经理要求以后的项目都使用unicode,整理以下看起来让人懵逼的基本类型... 其实在mfc中最容易让人发狂的就是关于字符的操作了. 两种常见基本C++char:(当然C++11新增char_16t. ...
- Swift语法总结补充(一)
Swift基础语法学习总结Swift高级语法学习总结Swift语法总结补充(一) 1. 可选类型是一种类型,String?就是Optional<String>,所以函数参数也可以声明为它2 ...
- mysql 用sql语句查询一个表中的所有字段类型、注释
SELECT column_name,column_comment,data_type FROM information_schema.columns WHERE table_name='表名' AN ...
- C#变量与数据类型
数据类型: 整型:int short long byte 小数:double float decimal 布尔:bool 字符:char 定义变量: 数据类型 变量名 [= 值]; 变量名的命名规则: ...
- CodeForces 219B Special Offer! Super Price 999 Bourles!
Special Offer! Super Price 999 Bourles! Time Limit:1000MS Memory Limit:262144KB 64bit IO For ...
- Cheatsheet: 2014 12.01 ~ 12.31
.NET Some Thoughts on the new .Net Introducing .NET Core Running ASP.NET on a Raspberry Pi with Mono ...
- ubuntu下php xdebug的安装(配置)
首先Xdebug要和php版本对应,具体查看官网 https://xdebug.org/ xdebug-2.1.0PHP Version 5.3.10linux下解压xdebug包.1.进入xd ...