MySQl优化学习笔记(九)二进制日志

2021-03-31  本文已影响0人  大江随笔

二进制日志应用场景就是搭建MySQL主从备份

MySQL主从备份含义:假设有个库a和库b,两个主机基于协议通信,用他们设置主从备份,a库为主库(master),b库为从库(slave),两个库都有个serverId,假设a为1,b为2。a用来做增删改,写入二进制日志,b实时读二进制日志,同时去执行同样的记录。实现主从备份。只要有增删改或改表结构等操作时就会写入二进制日志。

1、查询二进制日志相关参数:show VARIABLES like '%log_bin%'

2、开启二进制日志  在my.ini中修改配置项:log-bin=pythonlog , pythonlog 为日志文件名字  。

Sql命令开启二进制无效

3、生成新的二进制文件:flush logs;

flush logs;执行之后,文件夹下会生成一个新的二进制文件00002:

打开index文件,里面会存放两个二进制文件的文件名:

执行以下update语句测试二进制日志记录情况:

4、查看二进制日志内容

二进制文件不能直接打开,可用SQL命令:show binlog events in 'pythonlog.000002';查看内容,如下图:

用SQL命令查看的二进制日志内容

但以上查询结果也不直观,我们用mysqlbinlog.exe工具打开,在cmd中先打开日志所在路径:

然后调用工具:

以下是二进制日志内容:

仍然看不懂,用以下命令输出到一个目录下:

将日志内容输出到:D:/python.log

对应文件夹下会生成日志文件:

生成的日志文件,但打开后仍看不懂

以下命令将二进制文件解码为能看懂的log内容:

将二进制内容转换为文本的命令

打开生成的log文件,以下为解码后日志中的update语句:


附:命令行的工具的本质是exe,这个工具安装目录下,在系统环境变量path配置了这个目录。

在命令行随便输入一个工具(例如:mysql),优先找当前文件夹中是否有mySQl.exe的工具,如果没有则从系统环境变量找path配置项,从前往后依次找。

上一篇 下一篇

猜你喜欢

热点阅读