通过二进制的binlog文件进行mysql恢复

mysql> show variables like '%log_bin%';

查看所存放的二进制日志路径

mysql> show binary logs;

查看有哪些日志文件

不过首先要查看配置文件是否配置了开启了二进制,

在/etc/my.cnf配置文件里面 [mysqld] #选项添加 log-bin=mysql-bin #日志文件名称,未指定位置,默认数据文件位置

log_bin=/mysql/mysql-bin   在生产中,需要单独配置一个磁盘来存放二进制文件,这样才能保证数据安全

 

查看二进制日志事件 
mysql> show master status ; ## 确认当前再用的binlog
mysql> show binlog events in 'mysql-bin.000002'; ## 查看2号binlog的事件

注释:每一行都是一个事件
Log_name :日志名
Pos :事件开始的position *****
Event_type :事件类型
Server_id :发生在哪台机器的事件
End_log_pos:事件结束的位置号 *****
Info :事件内容 *****

然而数据太过于多,一般是导出成文本相关的进行赛选

[root@db01 /data/binlog]# mysqlbinlog mysql-bin.000002 |grep -v “SET” >aa.txt

截取二进制日志核心在于,找起点和终点
[root@db01 ~]# mysqlbinlog --start-position=219 --stop-position=322 /data/binlog/mysql-bin.000002 >/tmp/bin.sql

ps –start-position=起始号      –stop-position=322结束号

恢复:
mysql> show databases;  查看库
mysql> set sql_log_bin=0;   关闭当前端口的日志记录
mysql> source /tmp/bin.sql       导入

 

二进制日志切换方法

每次重启MySQL服务也会生成一个新的二进制日志文件,相当于二进制日志切换。切换二进制日志时,你会看到这些number会不断递增。另外,除了这些二进制日志文件外,你会看到还生成了一个DB-Server-bin.index的文件,这个文件中存储所有二进制日志文件的清单又称为二进制文件的索引。

执行 flush logs 可以刷新切换二进制文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值