Mysql读取binlog并分析 binlog

1,Mysql 开启 binlog

配置文件中增加

[mysqld] 
log-bin=mysql-bin

2.常用 binlog命令

# 是否启用binlog日志
show variables like 'log_bin';

# 查看详细的日志配置信息
show global variables like '%log%';

# 查看binlog的目录
show global variables like "%log_bin%";

# 查看当前服务器使用的biglog文件及大小
show binary logs;

# 查看指定 binlog 信息
SHOW BINLOG EVENTS IN '{binLog名字}' from 起始位置;

# 查看最新一个binlog日志文件名称和Position
show master status;

# 清除所有的binlog⽂件,并且重置为⼀个
reset master

 3,mysqlbinlog 的命令

选项名称描述引用弃用
--base64-output使用base-64编码打印二进制日志条目
--base64-output=decode-rows解码具体 sql
--bind-address使用指定的网络接口连接到MySQL Server
--binlog-row-event-max-size二进制日志最大事件大小
--character-sets-dir字符集的安装目录
--connection-server-id用于测试和调试。有关适用的默认值和其他详细信息,请参见文本5.7.5
--database仅列出该数据库的条目
--debug编写调试日志
--debug-check程序退出时打印调试信息
--debug-info程序退出时打印调试信息,内存和CPU统计信息
--default-auth身份验证插件使用
--defaults-extra-file除了通常的选项文件,还读取命名的选项文件
--defaults-file只读命名的选项文件
--defaults-group-suffix选项组后缀值
--disable-log-bin禁用二进制日志记录
--exclude-gtids不要显示提供的GTID集中的任何组
--force-if-open读取二进制日志文件,即使打开或未正确关闭
--force-read如果mysqlbinlog读取了无法识别的二进制日志事件,则会输出警告
--get-server-public-key从服务器请求RSA公钥5.7.23
--help显示帮助信息并退出
--hexdump显示登录注释的十六进制转储
--hostMySQL服务器所在的主机
--idempotent仅在处理来自此会话的二进制日志更新时,导致服务器使用幂等模式5.7.0
--include-gtids仅显示提供的GTID集中的组
--local-load在指定目录中为LOAD DATA准备本地临时文件
--login-path从.mylogin.cnf中读取登录路径选项
--no-defaults不读取选项文件
--offset跳过日志中的前N个条目
open_files_limit指定要保留的打开文件描述符的数量
--password连接服务器时使用的密码
--plugin-dir安装插件的目录
--port用于连接的TCP / IP端口号
--print-defaults打印默认选项
--protocol使用的连接协议
--raw将事件以原始(二进制)格式写入输出文件
--read-from-remote-master从MySQL主服务器读取二进制日志,而不是读取本地日志文件
--read-from-remote-server从MySQL服务器而不是本地日志文件中读取二进制日志
--result-file直接输出到命名文件
--rewrite-db从基于行的格式编写的日志中播放时,为数据库创建重写规则。可多次使用5.7.1
--secure-auth不要以旧(4.1之前)格式向服务器发送密码5.7.45.7.5
--server-id仅提取由具有给定服务器ID的服务器创建的那些事件
--server-id-bits告诉mysqlbinlog当mysqld编写的server-id-bits设置为小于最大值时,如何解释二进制日志中的服务器ID;仅受MySQL Cluster版本的mysqlbinlog支持
--server-public-key-path包含RSA公钥的文件的路径名5.7.23
--set-charset在输出中添加SET NAMES charset_name语句
--shared-memory-base-name用于共享内存连接的共享内存的名称
--short-form仅显示日志中包含的语句
--skip-gtids不要打印任何GTID。从包含GTID的二进制日志写入转储文件时使用此功能
--socketUnix套接字文件或Windows命名管道使用
--ssl启用连接加密5.7.3
--ssl-ca包含受信任的SSL证书颁发机构列表的文件5.7.3
--ssl-capath包含受信任的SSL证书颁发机构证书文件的目录5.7.3
--ssl-cert包含X.509证书的文件5.7.3
--ssl-cipher连接加密的允许密码5.7.3
--ssl-crl包含证书吊销列表的文件
--ssl-crlpath包含证书吊销列表文件的目录
--ssl-key包含X.509密钥的文件5.7.3
--ssl-mode与服务器连接的所需安全状态5.7.11
--ssl-verify-server-cert根据服务器证书的公用名身份验证主机名5.7.3
--start-datetime从第一个事件中读取时间戳等于或晚于datetime参数的二进制日志
--start-position从位置等于或大于参数的第一个事件读取二进制日志
--stop-datetime在时间戳等于或大于datetime参数的第一个事件时停止读取二进制日志
--stop-never读取最后一个二进制日志文件后保持与服务器的连接
--stop-never-slave-server-id连接到服务器时要报告的从服务器ID
--stop-position在第一个事件中停止读取二进制日志,且位置等于或大于参数
--tls-version允许的TLS协议进行加密连接5.7.10
--to-last-log不要在从MySQL服务器请求的二进制日志的结尾处停止,而要继续打印到最后一个二进制日志的结尾
--user连接服务器时要使用的MySQL用户名
--verbose将行事件重建为SQL语句
--verify-binlog-checksum验证二进制日志中的校验和

 4,举例说明

mysqlbinlog --base64-output=decode-rows -v --start-position=1036090025 --stop-position=1036094825 /home/mysql80/data/mysql-bin.000071 > 1.log
vim 1.log

呈现效果如下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值