配置启用二进制日志
[mysqld]
# 启用二进制日志记录,8.0 之前默认禁用,之后默认启用
# 二进制日志文件名称前缀,二进制日志是具备根本名称和数字扩展名的文件序列。# 二进制日志文件的默认地位是数据目录,能够应用此选项设置
log-bin=mysql-bin
# 在 MySQL 5.7 中,启用二进制日志记录时必须指定服务器 ID,否则服务器将无奈启动
# 在 MySQL 8.0 中,服务器 ID 默认设置为 1
# 默认值未 0,如果应用默认值则不能和从节点通信,这个值的区间是:1 到 (2^32)-1
server-id=1
# 禁用 MySQL 服务器将二进制日志同步到磁盘的性能,有操作系统管制,性能最佳,安全性最差
# sync_binlog=0
# 在提交事务之前启用二进制日志到磁盘的同步,性能最差,安全性最佳
sync_binlog=1
# 日志在每次事务提交时写入并刷新到磁盘,安全性最佳
innodb_flush_log_at_trx_commit=1
查看确认是否启用
mysql> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | ON |
+---------------+-------+
1 row in set (0.01 sec)
查看 binlog 内容
show binlog events \G;
二进制日志文件阐明
每次产生以下任何事件,服务器都会在系列中创立一个新文件:
- 服务器启动或重启
- 服务器刷新日志。
- 以后日志文件的大小达到 max_binlog_size。
为了跟踪应用了哪些二进制日志文件,mysqld 会创立一个二进制日志索引文件,内容中蕴含了二进制日志文件的名称。默认状况下,该文件名称与二进制日志文件具备雷同的根本名称,扩大名为 ‘.index’。能够应用 –log-bin-index[=file_name] 选项更改二进制日志索引文件的名称。
参考:https://dev.mysql.com/doc/ref…