19.1.6.1 复制和二进制日志选项和变量参考
以下两个部分提供了MySQL命令行选项和系统变量的基本信息,适用于复制和二进制日志。
复制选项和变量
以下命令行选项和系统变量与复制源服务器和副本相关。第19.1.6.2节,“复制源选项和变量”提供了更多关于复制源服务器选项和变量的信息。关于副本服务器选项和变量的信息,请参见第19.1.6.3节,“副本服务器选项和变量”。
-
auto_increment_increment: AUTO_INCREMENT 列的递增值。 -
auto_increment_offset: AUTO_INCREMENT 列的递增偏移量。 -
Com_change_replication_source: CHANGE REPLICATION SOURCE TO 和 CHANGE MASTER TO 语句的计数。 -
Com_replica_start: START REPLICA 和 START SLAVE 语句的计数。 -
Com_replica_stop: STOP REPLICA 和 STOP SLAVE 语句的计数。 -
Com_show_binary_log_status: SHOW BINARY LOG STATUS 语句的计数;使用 Com_show_master_status 替代。 -
Com_show_replica_status: SHOW REPLICA STATUS 和 SHOW SLAVE STATUS 语句的计数。 -
Com_show_replicas: SHOW REPLICAS 和 SHOW SLAVE HOSTS 语句的计数。 -
enforce_gtid_consistency: 防止执行不能在事务安全方式下记录的语句。 -
gtid_executed: 全局:二进制日志(全局)或当前事务(会话)。只读。 -
gtid_executed_compression_period: 将 gtid_executed 表每次压缩时的交易次数。0表示从不压缩该表。仅在禁用二进制日志时适用。 -
gtid_mode: 控制 GTID 基于日志是否启用,以及日志可以包含的交易类型。 -
gtid_next: 指定了下一个事务或多个事务的GTID;详见文档。 -
gtid_owned: 客户端(会话)所有的GTID,或者所有客户端所有的GTID,包括所有者线程的ID(全局)。只读。 -
gtid_purged: 已经从二进制日志中purged的所有GTID。 -
immediate_server_version: 源服务器的MySQL Server版本号。 -
init_replica: 复制服务器连接到源服务器时执行的语句。 -
init_slave: 复制服务器连接到源服务器时执行的语句。 -
log_bin_trust_function_creators: 如果等于0(默认),那么在使用--log-bin时,存储函数的创建只能由拥有SUPER特权的用户执行,并且函数创建不破坏二进制日志记录。 -
log_statements_unsafe_for_binlog: 禁止将1592错误写入到错误日志中。 -
master-retry-count: 复制服务器尝试连接到源服务器的次数。 -
max_relay_log_size: 如果非零,relay log将在达到该值时自动旋转。如果为零,旋转的大小将由max_binlog_size的值确定。 -
original_commit_timestamp: 事务在原始源服务器上提交的时间。 -
original_server_version: 事务在原始源服务器上提交的MySQL Server版本号。 -
relay_log: 远程日志的位置和名称。 -
relay_log_basename: 远程日志的完整路径,包括文件名。 -
relay_log_index: 远程日志的位置和名称。 -
relay_log_purge: 是否删除远程日志。 -
relay_log_recovery: 是否在启动时自动恢复远程日志文件从源服务器;必须启用以实现崩溃安全的复制服务器。 -
relay_log_space_limit: 最大relay日志使用空间。 -
replica_checkpoint_group: 多线程复制器在检查点操作前处理的最大事务数。NDB集群不支持。 -
replica_checkpoint_period: 多线程复制器在指定毫秒数后更新进度状态并将relay日志信息写入磁盘。NDB集群不支持。 -
replica_compressed_protocol: 对源/复制协议进行压缩。 -
replica_exec_mode: 允许在 IDEMPOTENT 模式(忽略一些错误)和STRICT 模式(默认)之间切换;NDB集群除外,总是使用 IDEMPOTENT 模式。 -
replica_load_tmpdir: 复制器在复制LOAD数据语句时将临时文件存储在该目录下。 -
replica_max_allowed_packet: 可以从源服务器发送到复制器的最大数据包大小(字节),超cedes max_allowed_packet。 -
replica_net_timeout: 等待来自源/复制连接的更多数据的秒数,超时后终止读取。 -
Replica_open_temp_tables: 复制 SQL 线程当前打开的临时表数量。 -
replica_parallel_type: 告诉复制器使用时间戳信息(LOGICAL_CLOCK)或数据库分区(DATABASE)来并行化事务。 -
replica_parallel_workers: 复制器执行事务的并行线程数;当为0或1时,只有一个线程。NDB集群:请查看文档。 -
replica_pending_jobs_size_max: 复制器工作队列中未应用事件的最大大小。 -
replica_preserve_commit_order: 确保复制器工作线程中的所有提交都在源服务器上发生在同一顺序中,以保持一致性,当使用并行应用线程时。 -
replica_skip_errors: 告诉复制线程在查询返回错误时继续复制。 -
replica_transaction_retries: 对于因死锁或超时而失败的事务,replication SQL线程将重试该事务的次数,直到放弃并停止。 -
replica_type_conversions: 控制replica的类型转换模式。值是以下列表中的零或多个元素:ALL_LOSSY, ALL_NON_LOSSY。将其设置为空字符串以禁止源和replica之间的类型转换。 -
replicate-do-db: 告诉replication SQL线程只复制指定的数据库。 -
replicate-do-table: 告诉replication SQL线程只复制指定的表。 -
replicate-ignore-db: 告诉replication SQL线程不要复制指定的数据库。 -
replicate-ignore-table: 告诉replication SQL线程不要复制指定的表。 -
replicate-rewrite-db: 更新到具有不同名称的数据库。 -
replicate-same-server-id: 在replication中,如果启用,不会跳过事件具有我们的服务器ID。 -
replicate-wild-do-table: 告诉replication SQL线程只复制与指定通配符模式匹配的表。 -
replicate-wild-ignore-table: 告诉replication SQL线程不要复制与给定通配符模式匹配的表。 -
replication_optimize_for_static_plugin_config: 共享锁用于半同步复制。 -
replication_sender_observe_commit_only: 有限回调用于半同步复制。 -
report_host: replica的主机名或IP,用于在replica注册时报告给源。 -
report_password: replica服务器在注册时报告给源的任意密码,不是replication用户帐户的密码。 -
report_port: 连接到replica并报告给源的端口号。 -
report_user: 复制服务器应报告的任意用户名称,不同于复制用户帐户名称。 -
rpl_read_size: 设置从二进制日志文件和中继日志文件中读取的最小数据量(以字节为单位)。 -
Rpl_semi_sync_master_clients: 半同步复制的数量。 -
rpl_semi_sync_master_enabled: 是否在源上启用半同步复制。 -
Rpl_semi_sync_master_net_avg_wait_time: 源等待从复制服务器接收回复的平均时间。 -
Rpl_semi_sync_master_net_wait_time: 源等待从复制服务器接收回复的总时间。 -
Rpl_semi_sync_master_net_waits: 源等待从复制服务器接收回复的次数。 -
Rpl_semi_sync_master_no_times: 源在关闭半同步复制的次数。 -
Rpl_semi_sync_master_no_tx: 未成功确认的事务数量。 -
Rpl_semi_sync_master_status: 是否在源上启用半同步复制。 -
Rpl_semi_sync_master_timefunc_failures: 源在调用时间函数时失败的次数。 -
rpl_semi_sync_master_timeout: 源等待复制服务器确认的超时时间(以毫秒为单位)。 -
rpl_semi_sync_master_trace_level: 源上半同步复制的调试跟踪级别。 -
Rpl_semi_sync_master_tx_avg_wait_time: 源等待每个事务的平均时间。 -
Rpl_semi_sync_master_tx_wait_time: 源等待事务的总时间。 -
Rpl_semi_sync_master_tx_waits: 源等待事务的次数。 -
rpl_semi_sync_master_wait_for_slave_count: 源在每个事务中等待从复制服务器接收回复的次数。 -
rpl_semi_sync_master_wait_no_slave: 源是否等待超时事件无从属。 -
rpl_semi_sync_master_wait_point: 等待从属事务确认的点。 -
Rpl_semi_sync_master_wait_pos_backtraverse: 源已经等待的事件总数,其中事件的二进制坐标低于之前等待的事件。 -
Rpl_semi_sync_master_wait_sessions: 当前等待从属回复的会话数量。 -
Rpl_semi_sync_master_yes_tx: 已经成功确认的事务数量。 -
rpl_semi_sync_replica_enabled: 是否在从属端启用半同步复制。 -
Rpl_semi_sync_replica_status: 是否在从属端启用半同步复制。 -
rpl_semi_sync_replica_trace_level: 在从属端启用半同步复制的调试跟踪级别。 -
rpl_semi_sync_slave_enabled: 是否在从属端启用半同步复制。 -
Rpl_semi_sync_slave_status: 是否在从属端启用半同步复制。 -
rpl_semi_sync_slave_trace_level: 在从属端启用半同步复制的调试跟踪级别。 -
Rpl_semi_sync_source_clients: 半同步复制的从属数量。 -
rpl_semi_sync_source_enabled: 是否在源端启用半同步复制。 -
Rpl_semi_sync_source_net_avg_wait_time: 源端等待从属回复的平均时间。 -
Rpl_semi_sync_source_net_wait_time: 源端等待从属回复的总时间。 -
Rpl_semi_sync_source_net_waits: 源端等待从属回复的总次数。 -
Rpl_semi_sync_source_no_times: 源端半同步复制中断的次数。 -
Rpl_semi_sync_source_no_tx: 未成功确认的事务数量。 -
Rpl_semi_sync_source_status: 源端半同步复制是否可用。 -
Rpl_semi_sync_source_timefunc_failures: 源端在调用时间函数时失败的次数。 -
rpl_semi_sync_source_timeout: 等待备援确认的毫秒数。 -
rpl_semi_sync_source_trace_level: 源端半同步复制调试跟踪级别。 -
Rpl_semi_sync_source_tx_avg_wait_time: 源端每个事务等待的平均时间。 -
Rpl_semi_sync_source_tx_wait_time: 源端总共等待的事务时间。 -
Rpl_semi_sync_source_tx_waits: 源端总共等待的事务次数。 -
rpl_semi_sync_source_wait_for_replica_count: 每个事务需要从备援端确认的次数。 -
rpl_semi_sync_source_wait_no_replica: 源端是否在无备援端时等待超时。 -
rpl_semi_sync_source_wait_point: 备援端事务确认的等待点。 -
Rpl_semi_sync_source_wait_pos_backtraverse: 源端总共等待的事件次数。 -
Rpl_semi_sync_source_wait_sessions: 当前等待备援确认的会话数量。 -
Rpl_semi_sync_source_yes_tx: 成功确认的事务数量。 -
rpl_stop_replica_timeout: STOP REPLICA超时的秒数。 -
rpl_stop_slave_timeout: 等待STOP REPLICA或STOP SLAVE超时的秒数。 -
server_uuid: 服务器的全球唯一ID,在服务器启动时自动(重新)生成。 -
show-replica-auth-info: 在SHOW REPLICAS中显示用户名称和密码。 -
show-slave-auth-info: 在SHOW REPLICAS和SHOW SLAVE HOSTS中显示用户名称和密码。 -
skip-replica-start: 如果设置,复制服务器启动时不自动启动复制。 -
skip-slave-start: 如果设置,复制服务器启动时不自动启动复制。 -
slave-skip-errors: 告诉复制线程在查询返回错误时继续复制,并从提供的列表中获取错误。 -
slave_checkpoint_group: 多线程复制服务器在更新进度状态前处理的最大事务数。NDB集群不支持。 -
slave_checkpoint_period: 多线程复制服务器在更新进度状态和将relay log信息写入磁盘后等待的毫秒数。NDB集群不支持。 -
slave_compressed_protocol: 使用源/复制协议的压缩。 -
slave_exec_mode: 允许在IDEMPOTENT模式(忽略一些错误)和STRICT模式(默认)之间切换;STRICT模式是默认的,除非在NDB集群中,IDEMPOTENT总是使用的。 -
slave_load_tmpdir: 复制服务器在复制LOAD DATA语句时将临时文件存储的位置。 -
slave_max_allowed_packet: 可以从复制源服务器发送到复制服务器的最大数据包大小(字节),超越max_allowed_packet。 -
slave_net_timeout: 等待来自源/复制连接的更多数据的秒数,超时后将中止读取。 -
Slave_open_temp_tables: 复制SQL线程当前打开的临时表数量。 -
slave_parallel_type: 告诉副本使用时间戳信息(LOGICAL_CLOCK)或数据库分区(DATABASE)来并行化事务。 -
slave_parallel_workers: 执行复制事务的并行线程数;0或1禁用副本多线程。NDB 集群:请查看文档。 -
slave_pending_jobs_size_max: 副本工作队列中未应用事件的最大大小。 -
slave_preserve_commit_order: 确保副本工作线程中的所有提交事件按照源顺序发生,以保持一致性,当使用并行应用线程时。 -
Slave_rows_last_search_algorithm_used: 副本最近使用的搜索算法,以便在行级复制中找到行(索引、表或哈希扫描)。 -
slave_transaction_retries: 复制 SQL线程在遇到死锁或超时锁等待时,重试事务的次数,直到失败并停止。 -
slave_type_conversions: 控制副本类型转换。值是零或多个元素的列表,从以下列表中选择:ALL_LOSSY,ALL_NON_LOSSY。将其设置为空字符串以禁用源和副本之间的类型转换。 -
sql_log_bin: 控制当前会话的二进制日志记录。 -
sql_replica_skip_counter: 副本应该跳过的事件数量。与GTID复制不兼容。 -
sql_slave_skip_counter: 副本应该跳过的事件数量。与GTID复制不兼容。 -
sync_master_info: 在每#个事件后同步源信息。 -
sync_relay_log: 在每#个事件后同步relay日志。 -
sync_relay_log_info: 在每#个事件后同步relay.info文件。 -
sync_source_info: 在每#个事件后同步源信息。 -
terminology_use_previous: 使用之前指定版本中不兼容的更改的术语。
关于mysqld的命令行选项、系统变量和状态变量列表,请见第7.1.4节,“服务器选项、系统变量和状态变量参考”.
二进制日志记录选项和变量
以下命令行选项和系统变量与二进制日志相关。关于二进制日志选项和变量的详细信息,请见第19.1.6.4节,“二进制日志选项和变量”。关于二进制日志的总体信息,请见第7.4.4节,“二进制日志”.
-
binlog-checksum: 启用或禁用二进制日志校验和。 -
binlog-do-db: 限制二进制日志到特定数据库。 -
binlog-ignore-db: 告诉源更新给定的数据库不写入二进制日志。 -
binlog-row-event-max-size: 二进制日志最大事件大小。 -
Binlog_cache_disk_use: 使用临时文件的交易数,而不是二进制日志缓存。 -
binlog_cache_size: 缓存大小,以存储SQL语句以便在事务中使用二进制日志。 -
Binlog_cache_use: 使用临时二进制日志缓存的交易数。 -
binlog_checksum: 启用或禁用二进制日志校验和。 -
binlog_direct_non_transactional_updates: 将使用语句格式的更新写入非事务性引擎的二进制日志。请在使用前阅读文档。 -
binlog_encryption: 启用对二进制日志文件和中继日志文件的加密。 -
binlog_error_action: 控制服务器不能写入二进制日志时的行为。 -
binlog_expire_logs_auto_purge: 控制自动清除二进制日志文件的行为,可以在启用时被覆盖,通过设置binlog_expire_logs_seconds和expire_logs_days为0。 -
binlog_expire_logs_seconds: 在这个时间后删除二进制日志。 -
binlog_format: 指定二进制日志的格式。 -
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_image: 在记录行变化时使用完整或最小图像。 -
binlog_row_metadata: 是否记录行变化时的所有或最小表相关元数据。 -
binlog_row_value_options: 允许二进制日志记录部分JSON更新。 -
binlog_rows_query_log_events: 启用行基于日志记录查询事件。默认禁用。不要在生产日志中启用,以便于5.6之前的副本/读取器。 -
Binlog_stmt_cache_disk_use: 非事务语句使用临时文件的次数。 -
binlog_stmt_cache_size: 缓存非事务语句的大小。 -
Binlog_stmt_cache_use: 使用临时二进制日志语句缓存的次数。 -
binlog_transaction_compression: 允许事务压缩二进制日志文件。 -
binlog_transaction_compression_level_zstd: 对于二进制日志文件中的事务负载的压缩级别。 -
binlog_transaction_dependency_history_size: 对于查找最后更新某行的交易的行哈希数量。 -
Com_show_binlog_events: SHOW BINLOG EVENTS 语句的计数。 -
Com_show_binlogs: SHOW BINLOGS 语句的计数。 -
log-bin: 二进制日志文件的基本名称。 -
log-bin-index: 二进制日志索引文件的名称。 -
log_bin: 是否启用二进制日志。 -
log_bin_basename: 二进制日志文件的路径和基本名称。 -
log_replica_updates: 是否将replica的更新操作记录到其自己的二进制日志中。 -
log_slave_updates: 是否将replica的更新操作记录到其自己的二进制日志中。 -
master_verify_checksum: 在读取二进制日志时,源服务器是否检查校验和。 -
max-binlog-dump-events: mysql-test用于调试和测试replication的选项。 -
max_binlog_cache_size: 可以用来限制用于缓存多语句事务的总大小(以字节为单位)。 -
max_binlog_size: 二进制日志文件的大小超过该值时将自动旋转。 -
max_binlog_stmt_cache_size: 可以用来限制用于缓存所有非事务语句的总大小(以字节为单位)。 -
replica_sql_verify_checksum: 复制服务器是否检查relay日志的校验和。 -
slave-sql-verify-checksum: 复制服务器是否检查relay日志的校验和。 -
slave_sql_verify_checksum: 使从节点在读取relay日志时检查校验和。 -
source_verify_checksum: 使源节点在读取二进制日志时检查校验和。 -
sporadic-binlog-dump-fail: mysql-test用于调试和测试复制的选项。 -
sync_binlog: 将二进制日志同步写入磁盘,每#个事件。
关于使用mysqld的命令行选项、系统变量和状态变量,请见第7.1.4节,“服务器选项、系统变量和状态变量参考”。