博客
关于我
深入浅出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中你必须知道的10件事,1.5万字!
查看>>
MySQL中使用IN()查询到底走不走索引?
查看>>
Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
查看>>
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>
mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
查看>>
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>