博客
关于我
深入浅出MySQL(十一)关于mysql里面的bin-log日志
阅读量:361 次
发布时间:2019-03-04

本文共 1283 字,大约阅读时间需要 4 分钟。

mysql里面的bin-log日志,相信大家都有过相应的了解,但是对于bin-log日志而言,具体的内容是做什么的,今天小编特意抽空学习了一下,下边是我的笔记心得。

主从同步的一个基本原理
MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。
由于在主从架构中,master将相应的sql信息通过Replication写入到了bin-log文件当中,然后slaver的io线程读取master的日志内容,并将里面的内容写入到写入到 Slave 端的Relay Log,sql线程会监控到Relay Log相应的内容并且进行读取,达到相应的一个主从数据同步的模式。
mysql的binlog日志除了我们常说的这个主从同步功能以外,还能为我们的数据库备份提供一定的帮助。

常用binlog日志操作命令

1.查看所有binlog日志列表

mysql> show master logs;

2.查看master状态,即最后(最新)一个binlog日志的编号名称,及其最后一个操作事件pos结束点(Position)值

mysql> show master status;

3.刷新log日志,自此刻开始产生一个新编号的binlog日志文件

mysql> flush logs;  注:每当mysqld服务重启时,会自动执行此命令,刷新binlog日志;在mysqldump备份数据时加 -F 选项也会刷新binlog日志;

4.重置(清空)所有binlog日志

mysql> reset master;

我们登录自己的mysql服务器,在确认log-bin配置开启之后,使用mysql自带的mysqlbinlog工具进行日志文件的查看(mysql的binlog日志文件通过vi,cat是无法查看的)

在这里插入图片描述
这里面正好有一段相应的write_rows的插入数据记录,根据相应的end_log_pos指标,我们可以记住相应的pos数值,然后进入mysql服务里面进行详细日志文件的阅读
通过相应的mysql-binlog阅读命令,我们可以去查询相关的日志记录:
这里需要结合以下相应的命令进行查看:

mysql> show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];选项解析:           IN 'log_name'   指定要查询的binlog文件名(不指定就是第一个binlog文件)           FROM pos        指定从哪个pos起始点开始查起(不指定就是从整个文件首个pos点开始算)           LIMIT [offset,] 偏移量(不指定就是0)           row_count       查询总条数(不指定就是所有行)

在这里插入图片描述

注意,这里要求起始点位置是正确的offset才能使得命令生效。

转载地址:http://swte.baihongyu.com/

你可能感兴趣的文章
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>
MySql中mvcc学习记录
查看>>
mysql中null和空字符串的区别与问题!
查看>>