3.mysql中的bin log

bin log(二进制日志 (Binary Log, 简称 binlog) 是 是数据库服务器层面最重要的日志之一,它以记录了所有对数据库内容进行了修改的 SQL 语句INSERT, UPDATE, DELETE, CREATE TABLE, ALTER TABLE, DROP TABLE, GRANT, REVOKE 等)或实际修改的数据行信息,以及语句执行时的元数据(如时间戳、服务器 ID 等)。

1.bin log 配置参数

可以在mysql的配置文件my.cnf 或 my.ini中配置

[mysqld]
# 核心启用
# 启用 binlog 的核心开关,指定日志的路径
log_bin = /var/lib/mysql/mysql-bin
# mysql sql 服务id,在集群中要保证唯一
server_id = 1

# 日志记录个,支持三种格式 STATEMENT | ROW | MIXED
#STATEMENT :原始 SQL 语句,现在已经废弃,如果在生产集群环境中使用会出现以来语句重放导致时间不一样的问题
#ROW (推荐):每行数据的变更详情
#MIXED:混合模式:智能选择 STATEMENT 或 ROW
binlog_format = ROW

# 日志记录刷盘策略
# 0:依赖 OS 刷盘(性能好,宕机可能丢数据)。
# 1:每次事务提交刷盘(最安全,性能略有损耗),生成环境建议使用这个
# N>1:每 N 个事务刷盘(平衡点)。
sync_binlog = 1


# 定义如何记录行变更的列数据
FULL(推荐):数据最安全,兼容性最佳(默认值),会记录所有列的变化
MINIMAL:需确保所有表有主键且无需闪回,只记录有变化的列
NOBLOB:平衡安全性和空间(如用户表的头像字段),会记录所有列,但排除未修改的 BLOB/TEXT类型 列,如果有修改了会记录
binlog_row_image = FULL

# 日志保留策略  
#保留天数
expire_logs_days = 14
# 每个文件的大小
max_binlog_size = 1G

# GTID 复制(推荐)  启用 GTID(全局事务标识),简化复制故障切换
# 需要下面两个参数同时配置
gtid_mode = ON
enforce_gtid_consistency = ON
 

其它文章资源
2.mysql中几种关键日志

你可能感兴趣的:(mysql,mysql,数据库)