mysqlbinlog 恢复数据的四种方法
2015-09-30 17:29
731 查看
mysqlbinlog 命令
作用:mysqlbinlog 是用来解析mysql的binlog日志的。
[root@MySQL data]# file mysql-bin.000001
mysql-bin.000001: MySQL replication log
[root@MySQL data]#
mysqlbinlog日志无法直接用cat 查看,需要用mysqlbinlog命令转换为普通文件才能查看
也只有用mysqlbinlog命令把binlog日志转化为普通文件之后,才能用这个普通文件进行数据恢复
参数解析:
–start-datetime=datetime
从二进制日志中第1个日期时间等于或晚于datetime参量的事件开始读取。datetime值相对于运行mysqlbinlog的机器上的本地时区。该值格式应符合DATETIME或TIMESTAMP数据类型。例如:
shell> mysqlbinlog –start-datetime=”2004-12-25 11:25:56″ binlog.000003该选项可以帮助点对点恢复。
–stop-datetime=datetime
从二进制日志中第1个日期时间等于或晚于datetime参量的事件起停止读。关于datetime值的描述参见–start-datetime选项。该选项可以帮助及时恢复。
–start-position=N
从二进制日志中第1个位置等于N参量时的事件开始读。
–stop-position=N
从二进制日志中第1个位置等于和大于N参量时的事件起停止读。
-d 指定恢复binlog日志中的某个库的日志
##########################################
1、例子:基于位置点恢复
其中drop tables test1这个误操作的end_log_pos为9917,几下这个id,得出它前后操作的id分别为9916,9918
我们将进行位置恢复操作
只给stop指定位置,那么从日志文件开始恢复数据,恢复到stop指定时间点
mysqlbinlog --stop-position='9916' /var/log/mysql-bin.000001 | mysql -uroot -p
只给定start指定位置,那么就从start指定位置开始恢复,恢复到文件的结束
mysqlbinlog --start-position='9918' /var/log/mysql-bin.000001 | mysql -uroot -p
如果即给了start开始位置点,也给定了stop停止时间点,那么就是从开始点开始到停止位置点结束
##########################################
2、基于时间点恢复
只给stop时间,不给start时间,就从文件的开头开始恢复,恢复到指定的stop时间停止恢复
mysqlbinlog -–stop-datetime=”20014-12-25 11:25:56“ /var/log/mysql-bin.000001 | mysql -uroot -p
只给start时间,就是从start指定的时间开始恢复,恢复到binlog文件的结束
mysqlbinlog -–start-datetime=”20014-12-25 11:29:56“ /var/log/mysql-bin.000001 | mysql -uroot -p
如果给了开始时间和结束数据,那就是恢复开始到结束stop时间点的数据
##########################################
3、恢复指定库的数据 -d
—database=db_name,-d db_name
只列出该数据库的条目(只用本地日志)。仅仅恢复指定数据库的数据,如下面的,仅仅恢复数据库lvnian的数据而已,其他库的数据不会恢复
mysqlbinlog -d lvnian /var/log/mysql-bin.000001 | mysql -uroot -p
本文出自 “奋斗吧” 博客,请务必保留此出处http://lvnian.blog.51cto.com/7155281/1699627
作用:mysqlbinlog 是用来解析mysql的binlog日志的。
[root@MySQL data]# file mysql-bin.000001
mysql-bin.000001: MySQL replication log
[root@MySQL data]#
mysqlbinlog日志无法直接用cat 查看,需要用mysqlbinlog命令转换为普通文件才能查看
也只有用mysqlbinlog命令把binlog日志转化为普通文件之后,才能用这个普通文件进行数据恢复
参数解析:
–start-datetime=datetime
从二进制日志中第1个日期时间等于或晚于datetime参量的事件开始读取。datetime值相对于运行mysqlbinlog的机器上的本地时区。该值格式应符合DATETIME或TIMESTAMP数据类型。例如:
shell> mysqlbinlog –start-datetime=”2004-12-25 11:25:56″ binlog.000003该选项可以帮助点对点恢复。
–stop-datetime=datetime
从二进制日志中第1个日期时间等于或晚于datetime参量的事件起停止读。关于datetime值的描述参见–start-datetime选项。该选项可以帮助及时恢复。
–start-position=N
从二进制日志中第1个位置等于N参量时的事件开始读。
–stop-position=N
从二进制日志中第1个位置等于和大于N参量时的事件起停止读。
-d 指定恢复binlog日志中的某个库的日志
##########################################
1、例子:基于位置点恢复
其中drop tables test1这个误操作的end_log_pos为9917,几下这个id,得出它前后操作的id分别为9916,9918
我们将进行位置恢复操作
只给stop指定位置,那么从日志文件开始恢复数据,恢复到stop指定时间点
mysqlbinlog --stop-position='9916' /var/log/mysql-bin.000001 | mysql -uroot -p
只给定start指定位置,那么就从start指定位置开始恢复,恢复到文件的结束
mysqlbinlog --start-position='9918' /var/log/mysql-bin.000001 | mysql -uroot -p
如果即给了start开始位置点,也给定了stop停止时间点,那么就是从开始点开始到停止位置点结束
##########################################
2、基于时间点恢复
只给stop时间,不给start时间,就从文件的开头开始恢复,恢复到指定的stop时间停止恢复
mysqlbinlog -–stop-datetime=”20014-12-25 11:25:56“ /var/log/mysql-bin.000001 | mysql -uroot -p
只给start时间,就是从start指定的时间开始恢复,恢复到binlog文件的结束
mysqlbinlog -–start-datetime=”20014-12-25 11:29:56“ /var/log/mysql-bin.000001 | mysql -uroot -p
如果给了开始时间和结束数据,那就是恢复开始到结束stop时间点的数据
##########################################
3、恢复指定库的数据 -d
—database=db_name,-d db_name
只列出该数据库的条目(只用本地日志)。仅仅恢复指定数据库的数据,如下面的,仅仅恢复数据库lvnian的数据而已,其他库的数据不会恢复
mysqlbinlog -d lvnian /var/log/mysql-bin.000001 | mysql -uroot -p
本文出自 “奋斗吧” 博客,请务必保留此出处http://lvnian.blog.51cto.com/7155281/1699627
相关文章推荐
- mysql show命令集合
- mysql replication(双主复制)(四)M-M
- 显示MYSQL数据库信息
- MySQL 水平拆分
- MySQL日期字符串转换成NULL值的异常处理
- mysql更新或者添加
- mysql结合status和variables 优化mysql
- MySQL 查看表结构简单命令。
- 使用SKIP-GRANT-TABLES 解决 MYSQL ROOT密码丢失
- How to support full Unicode in MySQL databases
- MySQL的主从复制,半同步复制
- MySQL 添加唯一约束
- 转载:mysql ODBC 在64位下提示找不到odbc驱动问题
- MYSQL导入导出数据库命令
- Redhat下mysql的安装与使用
- 用MySQL log调试程序
- MySQL查询优化之explain的深入解析
- MYSQL数据库的导出的几种方法
- MySQL 如何只导出 指定的表 的表结构和数据 ( 转 )
- mysql数据库管理工具sqlyog在首选项里可以设置默认查询分页条数和字体,改写关键字大小写