以下是 MySQL 中一些与二进制日志(binlog)相关的系统变量的作用说明,呈现为表格形式:
| 变量名 | 描述 |
|---|---|
binlog_cache_size |
每个会话可使用的二进制日志缓存的大小,用于存储事务中的事件。较大的缓存可以减少磁盘 I/O 。 |
binlog_checksum |
控制二进制日志事件的校验和算法,以验证日志的完整性。常见值包括NONE和CRC32。 |
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 |
控制如何在事务中跟踪依赖关系,以提高复制性能。可选值为WRITESET和WRITESET_SESSION。 |
这些变量用于配置和优化 MySQL 的二进制日志功能,以提高数据安全性、性能和复制的一致性。根据具体的应用需求和系统配置,合理调整这些变量可以显著提升系统的整体效率。
浙公网安备 33010602011771号