暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【ACDU 翻译】MySQL 17.1.6.1 复制和二进制日志记录选项和变量引用

原创 由迪 2022-08-29
337

以下两节提供有关适用于复制和二进制日志的 MySQL 命令行选项和系统变量的基本信息。

复制选项和变量

以下列表中的命令行选项和系统变量与复制源服务器和副本有关。 第 17.1.6.2 节,“复制源选项和变量”提供了有关与复制源服务器相关的选项和变量的更多详细信息。有关与副本相关的选项和变量的更多信息,请参阅 第 17.1.6.3 节,“副本服务器选项和变量”

  • abort-slave-event-count: mysql-test 用于调试和测试复制的选项。
  • auto_increment_increment: AUTO_INCREMENT 列按此值递增。
  • auto_increment_offset:添加到 AUTO_INCREMENT 列的偏移量。
  • Com_change_master: CHANGE REPLICATION SOURCE TO 和 CHANGE MASTER TO 语句的计数。
  • 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_master_status: SHOW MASTER STATUS 语句的计数。
  • Com_show_replica_status: SHOW REPLICA STATUS 和 SHOW SLAVE STATUS 语句的计数。
  • Com_show_replicas: SHOW REPLICAS 和 SHOW SLAVE HOSTS 语句的计数。
  • Com_show_slave_hosts: SHOW REPLICAS 和 SHOW SLAVE HOSTS 语句的计数。
  • Com_show_slave_status: SHOW REPLICA STATUS 和 SHOW SLAVE STATUS 语句的计数。
  • Com_slave_start: START REPLICA 和 START SLAVE 语句的计数。
  • Com_slave_stop: STOP REPLICA 和 STOP SLAVE 语句的计数。
  • disconnect-slave-event-count: mysql-test 用于调试和测试复制的选项。
  • enforce_gtid_consistency:防止执行无法以事务安全方式记录的语句。
  • expire_logs_days: 在这么多天后清除二进制日志。
  • gtid_executed:全局:二进制日志(全局)或当前事务(会话)中的所有 GTID。只读。
  • gtid_executed_compression_period:每次发生这么多事务时压缩 gtid_executed 表。0 表示从不压缩此表。仅在禁用二进制日志记录时适用。
  • gtid_mode:控制是否启用基于 GTID 的日志记录以及可以包含哪些类型的事务日志。
  • gtid_next: 指定下一条要执行的语句的 GTID;有关详细信息,请参阅文档。
  • gtid_owned:此客户端(会话)或所有客户端拥有的 GTID 集,以及所有者的线程 ID(全局)。只读。
  • gtid_purged:已从二进制日志中清除的所有 GTID 的集合。
  • immediate_server_version: MySQL 服务器版本号的服务器,它是立即复制源。
  • init_replica:副本连接到源时执行的语句。
  • init_slave:副本连接到源时执行的语句。
  • log_bin_trust_function_creators:如果等于 0(默认值),那么当使用 --log-bin 时,只允许具有 SUPER 权限的用户创建存储函数,并且仅当创建的函数不会破坏二进制日志记录。
  • log_statements_unsafe_for_binlog:禁用写入错误日志的错误 1592 警告。
  • master-info-file:记住源的文件的位置和名称以及 I/O 复制线程在源的二进制日志中的位置。
  • master-retry-count:副本在放弃之前尝试连接到源的次数。
  • master_info_repository: 是否将连接元数据存储库,包含源的二进制日志中的源信息和复制 I/O 线程位置写入文件或表。
  • max_relay_log_size:如果非零,中继日志在其大小超过此值时自动轮换。如果为零,则发生旋转的大小由 max_binlog_size 的值确定。
  • original_commit_timestamp:在原始源上提交事务的时间。
  • original_server_version:最初提交事务的服务器的 MySQL 服务器版本号。
  • relay_log:用于中继日志的位置和基本名称。
  • relay_log_basename: 中继日志的完整路径,包括文件名。
  • relay_log_index:用于保存最后中继日志列表的文件的位置和名称。
  • relay_log_info_file:应用程序元数据存储库的文件名,其中副本记录有关中继日志的信息。
  • relay_log_info_repository: 是否将relay log中复制SQL线程的位置写入文件或表。
  • relay_log_purge:确定是否清除中继日志。
  • relay_log_recovery:是否开启启动时从源自动恢复relay log文件;必须为崩溃安全副本启用。
  • relay_log_space_limit:用于所有中继日志的最大空间。
  • replica_checkpoint_group:在调用检查点操作更新进度状态之前,多线程副本处理的最大事务数。NDB Cluster 不支持。
  • replica_checkpoint_period:在此毫秒数后更新多线程副本的进度状态并将中继日志信息刷新到磁盘。NDB Cluster 不支持。
  • replica_compressed_protocol:使用源/副本协议的压缩。
  • replica_exec_mode:允许在 IDEMPOTENT 模式(键和其他一些错误被抑制)和 STRICT 模式之间切换复制线程;STRICT 模式是默认的,除了 NDB Cluster,其中始终使用 IDEMPOTENT。
  • replica_load_tmpdir:复制 LOAD DATA 语句时副本应放置其临时文件的位置。
  • replica_max_allowed_packet:可以从复制源服务器发送到副本的数据包的最大大小,以字节为单位;覆盖 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_rows_last_search_algorithm_used:此副本最近使用的搜索算法,用于定位基于行的复制(索引、表或哈希扫描)的行。
  • replica_skip_errors:当查询从提供的列表返回错误时,告诉复制线程继续复制。
  • replica_transaction_retries:复制 SQL 线程在放弃和停止之前重试事务的次数,以防它因死锁或经过的锁等待超时而失败。
  • replica_type_conversions:控制副本上的类型转换模式。值是此列表中零个或多个元素的列表:ALL_LOSSY、ALL_NON_LOSSY。设置为空字符串以禁止源和副本之间的类型转换。
  • replicate-do-db: 告诉复制 SQL 线程限制复制到指定的数据库。
  • replicate-do-table:告诉复制 SQL 线程将复制限制到指定的表。
  • replicate-ignore-db: 告诉复制 SQL 线程不要复制到指定的数据库。
  • replicate-ignore-table:告诉复制 SQL 线程不要复制到指定的表。
  • replicate-rewrite-db:更新到与原始名称不同的数据库。
  • replicate-same-server-id:在复制中,如果启用,不要跳过具有我们服务器 ID 的事件。
  • replicate-wild-do-table:告诉复制 SQL 线程将复制限制为与指定通配符模式匹配的表。
  • replicate-wild-ignore-table:告诉复制 SQL 线程不要复制到与给定通配符模式匹配的表。
  • replication_optimize_for_static_plugin_config: 用于半同步复制的共享锁。
  • replication_sender_observe_commit_only:半同步复制的有限回调。
  • report_host:在副本注册期间要报告给源的副本的主机名或 IP。
  • report_password:副本服务器应向源报告的任意密码;与复制用户帐户的密码不同。
  • report_port:用于连接到副本注册期间报告给源的副本的端口。
  • 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 Cluster 不支持。
  • slave_checkpoint_period:在此毫秒数后更新多线程副本的进度状态并将中继日志信息刷新到磁盘。NDB Cluster 不支持。
  • slave_compressed_protocol:使用源/副本协议的压缩。
  • slave_exec_mode:允许在 IDEMPOTENT 模式(键和其他一些错误被抑制)和 STRICT 模式之间切换复制线程;STRICT 模式是默认的,除了 NDB Cluster,其中始终使用 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_rows_search_algorithms:确定用于副本更新批处理的搜索算法。此列表中的任意 2 或 3 个:INDEX_SEARCH、TABLE_SCAN、HASH_SCAN。
  • 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: 在每 #th 事件后同步源信息。
  • sync_relay_log: 在每 #th 事件后将中继日志同步到磁盘。
  • sync_relay_log_info:在每 #th 事件后将 relay.info 文件同步到磁盘。
  • sync_source_info: 在每 #th 事件后同步源信息。
  • terminology_use_previous:使用指定版本之前的术语,其中更改不兼容。
  • transaction_write_set_extraction:定义用于散列在事务期间提取的写入的算法。

有关与mysqld 一起使用的所有命令行选项、系统变量和状态变量的列表,请参阅 第 5.1.4 节,“服务器选项、系统变量和状态变量参考”

二进制日志记录选项和变量

以下列表中的命令行选项和系统变量与二进制日志相关。 第 17.1.6.4 节,“二进制日志记录选项和变量”,提供有关与二进制日志记录相关的选项和变量的更多详细信息。有关二进制日志的其他一般信息,请参阅第 5.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_group_commit_sync_delay 指定的当前延迟之前等待的最大事务数。
  • 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:为查找最后更新某行的事务而保留的行哈希数。
  • binlog_transaction_dependency_tracking:依赖信息的来源(提交时间戳或事务写入集),从中评估哪些事务可以由副本的多线程应用程序并行执行。
  • Com_show_binlog_events: SHOW BINLOG EVENTS 语句的计数。
  • Com_show_binlogs: SHOW BINLOGS 语句的计数。
  • log-bin:二进制日志文件的基本名称。
  • log-bin-index:二进制日志索引文件的名称。
  • log_bin:是否启用二进制日志。
  • log_bin_basename:二进制日志文件的路径和基本名称。
  • log_bin_use_v1_row_events:服务器是否使用版本 1 二进制日志行事件。
  • log_replica_updates:副本是否应将其复制 SQL 线程执行的更新记录到自己的二进制日志中。
  • log_slave_updates:副本是否应将其复制 SQL 线程执行的更新记录到自己的二进制日志中。
  • master_verify_checksum:导致源在从二进制日志读取时检查校验和。
  • max-binlog-dump-events: mysql-test 用于调试和测试复制的选项。
  • max_binlog_cache_size:可用于限制用于缓存多语句事务的总大小。
  • max_binlog_size:当大小超过此值时,二进制日志会自动轮换。
  • max_binlog_stmt_cache_size:可用于限制用于在事务期间缓存所有非事务语句的总大小。
  • replica_sql_verify_checksum: 导致副本在读取中继日志时检查校验和。
  • slave-sql-verify-checksum: 导致副本在读取中继日志时检查校验和。
  • slave_sql_verify_checksum: 导致副本在读取中继日志时检查校验和。
  • source_verify_checksum:导致源在从二进制日志读取时检查校验和。
  • sporadic-binlog-dump-fail: mysql-test 用于调试和测试复制的选项。
  • sync_binlog:在每个 #th 事件后同步刷新二进制日志到磁盘。

有关与mysqld 一起使用的所有命令行选项、系统和状态变量的列表,请参阅 第 5.1.4 节,“服务器选项、系统变量和状态变量参考”

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论