天天看点

深入理解MySQL的binlog(上)1 简介2 Binlog 的作用3 开启Binlog3 binlog管理命令4 Binlog相关变量

1 简介

二进制日志,记录对数据发生或潜在发生更改的SQL语句,并以二进制形式保存在磁盘。

2 Binlog 的作用

主要作用:复制、恢复和审计。

归档,也可以用来做主备同步。

3 开启Binlog

3.1 查询当前 MySQL 是否支持 binlog

深入理解MySQL的binlog(上)1 简介2 Binlog 的作用3 开启Binlog3 binlog管理命令4 Binlog相关变量

如下OFF代表不支持

深入理解MySQL的binlog(上)1 简介2 Binlog 的作用3 开启Binlog3 binlog管理命令4 Binlog相关变量

3.2 配置 binlog 格式

修改 my.cnf 文件

查看my.cnf路径

mysql --help --verbose | grep my.cnf

深入理解MySQL的binlog(上)1 简介2 Binlog 的作用3 开启Binlog3 binlog管理命令4 Binlog相关变量
深入理解MySQL的binlog(上)1 简介2 Binlog 的作用3 开启Binlog3 binlog管理命令4 Binlog相关变量

在对应的my.cnf文件中添加如下内容:

注意添加 mysqld 组

深入理解MySQL的binlog(上)1 简介2 Binlog 的作用3 开启Binlog3 binlog管理命令4 Binlog相关变量

重启 MySQL

深入理解MySQL的binlog(上)1 简介2 Binlog 的作用3 开启Binlog3 binlog管理命令4 Binlog相关变量

再次查看是否支持binlog

深入理解MySQL的binlog(上)1 简介2 Binlog 的作用3 开启Binlog3 binlog管理命令4 Binlog相关变量

命令行修改

set binlog_format=ROW;
      

3 binlog管理命令

show master logs

查看所有Binlog的日志列表。

深入理解MySQL的binlog(上)1 简介2 Binlog 的作用3 开启Binlog3 binlog管理命令4 Binlog相关变量

show master status

查看binlog日志状态。查看最后一个Binlog日志的编号名称,及最后一个事件结束的位置( pos )

深入理解MySQL的binlog(上)1 简介2 Binlog 的作用3 开启Binlog3 binlog管理命令4 Binlog相关变量

flush logs

刷新binlog日志文件,刷新之后会创建一个新的Binlog日志文件

reset master

清空所有的 binlog 日志文件

查看binlog日志文件

mysqlbinlog mysql-bin.000002

4 Binlog相关变量

log_bin

Binlog的开关。

查看该变量:

show variables like 'log_bin';
      
深入理解MySQL的binlog(上)1 简介2 Binlog 的作用3 开启Binlog3 binlog管理命令4 Binlog相关变量

binlog_format

Binlog日志的格式。

查看变量:

show variables like 'binlog_format';
      
深入理解MySQL的binlog(上)1 简介2 Binlog 的作用3 开启Binlog3 binlog管理命令4 Binlog相关变量