日志文件:6类
一般查询日志:log,general_log,log_output
慢查询日志:
错误日志
二进制日志
中继日志
事务日志
二进制日志:
记录了当前服务器的数据修改和有潜在可能性影响数据修改的语句
默认在数据目录下,通常情况下为mysql-bin
可以通过mysqlbinlog来查看
时间记录 time
偏移位置 position
show master status 查看当前使用的二进制日志和下一个事件开始时的基于的位置
日志滚动:当超过1G,日志会滚动
可以按照大小定义
时间定义
执行flush logs
查看当前正在使用的log日志
show binary logs
mysql> show binary logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000001 | 996 |
| mysql-bin.000002 | 126 |
| mysql-bin.000003 | 39892 |
| mysql-bin.000004 | 201 |
| mysql-bin.000005 | 194 |
+------------------+-----------+
二进制日志的功用
即时点恢复:
复制:
清除日志
PURGE { BINARY | MASTER } LOGS
{ TO 'log_name' | BEFORE datetime_expr(某个时间之前) }
查看mysql的日志
SHOW BINLOG EVENTS
mysql> show binlog events\G
*************************** 1. row ***************************
Log_name: mysql-bin.000001
Pos: 4
Event_type: Format_desc
Server_id: 1
End_log_pos: 107
Info: Server ver: 5.5.33-log, Binlog ver: 4
service-id:服务器身份标识
INSERT INTO t1 value(current_date())
Mysql 记录二进制日志的格式
基于语句:statement
基于行:row
混合模式:mixed
指定从那个位置开始读取
mysql> show binlog events in 'mysql-bin.000001' from 371\G
或者
# mysqlbinlog --start-pos