以下是 MySQL 中一些与二进制日志(binlog)相关的系统变量的作用说明,呈现为表格形式:

变量名描述
binlog_cache_size 每个会话可使用的二进制日志缓存的大小,用于存储事务中的事件。较大的缓存可以减少磁盘 I/O 。
binlog_checksum 控制二进制日志事件的校验和算法,以验证日志的完整性。常见值包括NONECRC32
binlog_direct_non_transactional_updates 控制非事务性表的更新是否直接写入二进制日志。启用后,这些更新不会使用事务缓存。
binlog_encryption 启用或禁用二进制日志加密,以提高数据安全性。
binlog_error_action 在二进制日志写入错误时采取的操作。ABORT_SERVER会停止服务器,IGNORE_ERROR会忽略错误继续运行。
binlog_expire_logs_auto_purge 控制是否自动清除过期的二进制日志文件,以节省磁盘空间。
binlog_expire_logs_seconds 二进制日志文件的过期时间(以秒为单位),超过此时间的日志文件将被删除。
binlog_format 设置二进制日志的记录格式。可选值为STATEMENT(语句)、ROW(行)、和MIXED(混合)。
binlog_group_commit_sync_delay 控制二进制日志组提交的同步延迟时间(以微秒为单位),用于提高吞吐量。
binlog_group_commit_sync_no_delay_count 控制在达到此事件计数时立即进行组提交同步,即使未达到延迟时间。
binlog_gtid_simple_recovery 控制 GTID(全局事务标识符)的简单恢复,以加速服务器启动过程。
binlog_max_flush_queue_time 控制最大刷新队列时间(以微秒为单位),用于优化日志刷新操作。
binlog_order_commits 控制事务提交的顺序是否与二进制日志中的顺序一致,以确保复制一致性。
binlog_rotate_encryption_master_key_at_startup 控制在服务器启动时是否旋转加密主密钥,以提高安全性。
binlog_row_event_max_size 控制单个行事件的最大大小,以限制大事件的影响。
binlog_row_image 设置记录在二进制日志中的行图像,FULL记录所有列,MINIMAL只记录必要列,NOBLOB不记录 BLOB 列。
binlog_row_metadata 控制是否在二进制日志中记录行事件的元数据,以支持更高级的复制功能。
binlog_row_value_options 控制在二进制日志中记录行值的选项,以优化存储。
binlog_rows_query_log_events 控制是否记录生成行事件的原始查询,以便在复制中进行调试和审计。
binlog_stmt_cache_size 非事务性语句在二进制日志中的缓存大小,用于提高性能。
binlog_transaction_compression 控制是否启用事务的二进制日志压缩,以减少日志大小。
binlog_transaction_compression_level_zstd 设置使用 Zstandard 算法进行二进制日志事务压缩的级别,以平衡压缩率和性能。
binlog_transaction_dependency_history_size 控制事务依赖关系历史的大小,以优化复制中的并发性。
binlog_transaction_dependency_tracking 控制如何在事务中跟踪依赖关系,以提高复制性能。可选值为WRITESETWRITESET_SESSION

这些变量用于配置和优化 MySQL 的二进制日志功能,以提高数据安全性、性能和复制的一致性。根据具体的应用需求和系统配置,合理调整这些变量可以显著提升系统的整体效率。

posted on 2025-03-05 11:56  卡米i  阅读(7)  评论(0)    收藏  举报