二进制日志应用场景就是搭建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配置项,从前往后依次找。
网友评论