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 可以刷新切换二进制文件