阅读mysql binlog文档

This commit is contained in:
asahi
2024-09-18 12:48:25 +08:00
parent b2ae12d2db
commit 1669041d56

View File

@@ -20,5 +20,25 @@ binary log能兼容程序的意外中止只有已完成的event或transaction
写入binary log中的statement如果包含密码密码将会被server重写binary log中不会出现密码的明文。
### binary log variable
#### binlog_encryption
binary log和relay log可以被加密用于保护这些日志文件的数据安全。可以通过`binlog_encryption`变量来设置binary log是否被加密。
#### log_bin
通过`log_bin`可以设置binary log是否被启用`log_bin`环境变量默认为`ON`,是启用的。
如果要在启动mysqld时禁用binary log可以在`my.cnf`中指定`skip-log-bin``disable-log-bin`
可以通过`--log-bin[=base_name]`来指定binary log file的base name。如果没有指定`--log-bin`选项那么base name默认为`binlog`binary log文件名为`binlog.xxxxx`
mysqld会在base name之后追加数字将其作为binlog的文件名称每次创建新的binlog文件时数字都会递增。mysqld会在如下场景下创建新的binlog文件
- mysql server执行`start``restart`操作
- server对log进行`flush`操作
- 当前log大小达到`max_binlog_size`的大小
如果在事务中写入大量数据那么binlog的大小可能会大于`max_binlog_size`因为同一个事务中的event只会被记录到一个binlog中不会写入到多个binlog中。