美文网首页运维MySQL
二进制日志-记录了什么

二进制日志-记录了什么

作者: 温东 | 来源:发表于2017-04-27 11:50 被阅读10次

二进制日志的作用是记录数据库的更改,然后用于复制和PITR(即时恢复),对那些不改变数据库的语句则不会写入二进制日志,如果一些常用的查询语句等。二进制日志按照master上事务提交的顺序记录他们,取决于事务提交时间。我们通过具体的实例查看一下二进制日志具体的记录内容:

mysql> create database test;

Query OK, 1 row affected (0.00 sec)

mysql> drop database test;

Query OK, 0 rows affected (0.00 sec)

mysql> drop database oldboy;

Query OK, 0 rows affected (0.01 sec)

mysql> create database oldboy;

Query OK, 1 row affected (0.00 sec)

mysql> use oldboy;

Database changed

mysql> create table tbl (text TEXT);

Query OK, 0 rows affected (0.01 sec)

mysql> insert into tbl values("hello,everyone!");

Query OK, 1 row affected (0.01 sec)

mysql> select * from tbl;

+-----------------+

| text|

+-----------------+

| hello,everyone! |

+-----------------+

1 row in set (0.00 sec)

mysql> flush logs;

Query OK, 0 rows affected (0.00 sec)

mysql>

flushlogs命令强制轮换(rotate)二进制文件,从而得到一个完整的二进制文件。下面我们使用show binlog events命令查看该文件。

mysql> show binlog events in 'master-bin.000002'\G;

*************************** 1. row***************************

Log_name:master-bin.000002

Pos: 4

Event_type:Format_desc

Server_id: 165

End_log_pos: 120

Info: Serverver: 5.6.35-log, Binlog ver: 4

*************************** 2. row***************************

Log_name:master-bin.000002

Pos: 120

Event_type: Query

Server_id: 165

End_log_pos: 334

Info: GRANTREPLICATION SLAVE ON *.* TO 'repl_user'@'192.168.10.%' IDENTIFIED BY PASSWORD'*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9'

*************************** 3. row***************************

Log_name:master-bin.000002

Pos: 334

Event_type: Query

Server_id: 165

End_log_pos: 434

Info: createdatabase oldboy

*************************** 4. row***************************

Log_name:master-bin.000002

Pos: 434

Event_type: Query

Server_id: 165

End_log_pos: 528

Info: createdatabase test

*************************** 5. row***************************

Log_name:master-bin.000002

Pos: 528

Event_type: Query

Server_id: 165

End_log_pos: 613

Info: dropdatabase test

*************************** 6. row***************************

Log_name:master-bin.000002

Pos: 613

Event_type: Query

Server_id: 165

End_log_pos: 702

Info: dropdatabase oldboy

*************************** 7. row***************************

Log_name:master-bin.000002

Pos: 702

Event_type: Query

Server_id: 165

End_log_pos: 802

Info: createdatabase oldboy

*************************** 8. row ***************************

Log_name:master-bin.000002

Pos: 802

Event_type: Query

Server_id: 165

End_log_pos: 908

Info: use`oldboy`; create table tbl (text TEXT)

*************************** 9. row***************************

Log_name:master-bin.000002

Pos: 908

Event_type: Query

Server_id: 165

End_log_pos: 991

Info: BEGIN

*************************** 10. row***************************

Log_name:master-bin.000002

Pos: 991

Event_type: Query

Server_id: 165

End_log_pos: 1111

Info: use`oldboy`; insert into tbl values ("hello,everyone!")

*************************** 11. row***************************

Log_name:master-bin.000002

Pos: 1111

Event_type: Xid

Server_id: 165

End_log_pos: 1142

Info: COMMIT/* xid=378 */

*************************** 12. row***************************

Log_name:master-bin.000002

Pos: 1142

Event_type: Rotate

Server_id: 165

End_log_pos: 1190

Info:master-bin.000003;pos=4

12 rows in set (0.01 sec)

ERROR:

No query specified

mysql>

Event_type:事件类型,Server_id:服务器ID, Log_name:存储事件的文件名,Pos:事件在文件中的开始位置,即事件的第一个字节。End_log_pos,事件在文件中的结束位置,也是下一个事件的开始位置。Info,事件信息的可读文本。

相关文章

  • redo日志、undo日志、binlog日志与doublewri

    binlog日志 (二进制日志) 二进制日志记录了对MySQL数据库执行更改的所有操作,它是一种逻辑操作,其记录的...

  • 数据库的binlog

    什么是binlog MySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML...

  • 二进制日志-记录了什么

    二进制日志的作用是记录数据库的更改,然后用于复制和PITR(即时恢复),对那些不改变数据库的语句则不会写入二进制日...

  • mysql原理(四)日志文件

    日志文件记录了Mysql的各种类型活动,常见的日志文件有:1)错误日志(error log)2)二进制日志 (bi...

  • MySQL中的日志文件解析

    前言 日志文件记录了影响MySQL数据库的各种类型活动,MySQL数据库中常见的日志文件有错误日志,二进制日志,慢...

  • 通过Binlog恢复数据

    1.概念理解 MySQL 的二进制日志 binlog 可以说是 MySQL 最重要的日志,它记录了所有的 DDL ...

  • MySQL的binlog日志

    binglog的基本认识 MySQL的二进制日志是MySQL重要的日志,它记录了所有的DDL和DML(除了数据查询...

  • Mysql 开启数据恢复日志和慢查询日志

    binlog binlog 基本认识MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和...

  • binlog 基本认识

    binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(...

  • 浅谈Mysql bin log

    Mysql binlog 基本认识:MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和...

网友评论

    本文标题:二进制日志-记录了什么

    本文链接:https://www.haomeiwen.com/subject/awmgzttx.html