16.1.6.1 复制和二进制日志记录选项和变量参考

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

复制选项和变量

下 table 中的命令行选项和系统变量与复制主服务器和复制从属服务器有关。 第 16.1.6.2 节,“复制源选项和变量”,提供有关与复制主服务器有关的选项和变量的更多详细信息。有关与复制从属有关的选项和变量的更多信息,请参见第 16.1.6.3 节“ Replica 服务器选项和变量”

  • abort-slave-event-count:mysql-test 用于调试和测试复制的选项。

  • auto_increment_increment:AUTO_INCREMENT 列增加此值。

  • auto_increment_offset:偏移已添加到 AUTO_INCREMENT 列。

  • binlog_gtid_simple_recovery:控制在 GTID 恢复期间如何迭代二进制日志。

  • Com_change_master:CHANGE MASTER TO 语句的计数。

  • Com_show_master_status:SHOW MASTER STATUS 语句的计数。

  • Com_show_slave_hosts:SHOW SLAVE HOSTS 语句的计数。

  • Com_show_slave_status:SHOW SLAVE STATUS 语句的计数。

  • Com_slave_start:START SLAVE 语句的计数。

  • Com_slave_stop:STOP SLAVE 语句的计数。

  • disconnect-slave-event-count:mysql-test 用于调试和测试复制的选项。

  • enforce_gtid_consistency:阻止执行无法以事务安全方式记录的语句。

  • expire_logs_days:这几天后清除二进制日志。

  • gtid_executed:全局:二进制日志(全局)或当前事务(会话)中的所有 GTID。只读。

  • gtid_executed_compression_period:每次发生这么多事务时,都要压缩 gtid_exectedtable。 0table 示从不压缩该 table。仅在禁用二进制日志记录时适用。

  • gtid_mode:控制是否启用基于 GTID 的日志记录以及日志可以包含的事务类型。

  • gtid_next:指定下一条要执行的 GTID;有关详细信息,请参见文档。

  • gtid_owned:此 Client 端(会话)或所有 Client 端拥有的一组 GTID,以及所有者(全局)的线程 ID。只读。

  • gtid_purged:已从二进制日志中清除的所有 GTID 的集合。

  • init_slave:从站连接到主站时执行的语句。

  • log_bin_trust_function_creators:如果等于 0(默认值),则使用--log-bin 时,仅对拥有 SUPER 特权的用户且仅当创建的函数不会中断二进制日志记录时,才允许创建存储函数。

  • log_builtin_as_identified_by_password:是否以向后兼容的方式登录 CREATE/ALTER USER,GRANT。

  • log_statements_unsafe_for_binlog:禁止将错误 1592 警告写入错误日志。

  • master-info-file:记住主数据库的文件的位置和名称,以及 I/O 复制线程在主数据库的二进制日志中的位置。

  • master-retry-count:从服务器在放弃之前尝试连接到主服务器的次数。

  • master_info_repository:是否将主服务器的二进制日志中的主服务器状态信息和复制 I/O 线程位置写入文件或 table。

  • max_relay_log_size:如果非零,则中继日志的大小超过此值时将自动旋转。如果为零,则旋转发生的大小由 max_binlog_size 的值确定。

  • relay_log:用于中继日志的位置和基本名称。

  • relay_log_basename:中继日志的完整路径,包括文件名。

  • relay_log_index:用于保存最近中继日志列 table 的文件的位置和名称。

  • relay_log_info_file:从站记录有关中继日志的信息的文件。

  • relay_log_info_repository:是将复制 SQL 线程在中继日志中的位置写入文件还是 table。

  • relay_log_purge:确定是否清除中继日志。

  • relay_log_recovery:是否启用了启动时从主服务器自动恢复中继日志文件的功能;必须为碰撞安全从站启用。

  • relay_log_space_limit:用于所有中继日志的最大空间。

  • replicate-do-db:告诉从 SQL 线程将复制限制到指定的数据库。

  • replicate-do-table:告诉从 SQL 线程将复制限制到指定的 table。

  • replicate-ignore-db:告诉从 SQL 线程不要复制到指定的数据库。

  • replicate-ignore-table:告诉从 SQL 线程不要复制到指定的 table。

  • replicate-rewrite-db:更新到名称与原始名称不同的数据库。

  • replicate-same-server-id:如果启用了复制,则不要跳过具有我们服务器 ID 的事件。

  • replicate-wild-do-table:告诉从线程将复制限制到与指定的通配符模式匹配的 table。

  • replicate-wild-ignore-table:告诉从线程不要复制到与给定通配符模式匹配的 table。

  • report_host:在从站注册期间要向主站报告的从站的主机名或 IP。

  • report_password:从属服务器应向主服务器报告的任意密码。与 MySQL 复制用户帐户的密码不同。

  • report_port:从站注册期间向主站报告的用于连接到从站的端口。

  • report_user:从属服务器应向主服务器报告的任意用户名。与用于 MySQL 复制用户帐户的名称不同。

  • Rpl_semi_sync_master_clients:半同步从站的数量。

  • rpl_semi_sync_master_enabled:是否在主服务器上启用半同步复制。

  • Rpl_semi_sync_master_net_avg_wait_time:主机 await 从机回复的平均时间。

  • Rpl_semi_sync_master_net_wait_time:主机 await 从机回复的总时间。

  • Rpl_semi_sync_master_net_waits:主服务器 await 从属服务器答复的总次数。

  • 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:await 从设备确认的毫秒数。

  • rpl_semi_sync_master_trace_level:主服务器上的半同步复制调试跟踪级别。

  • Rpl_semi_sync_master_tx_avg_wait_time:主服务器 await 每个事务的平均时间。

  • Rpl_semi_sync_master_tx_wait_time:主服务器 awaitTransaction 的总时间。

  • Rpl_semi_sync_master_tx_waits:主服务器 awaitTransaction 的总次数。

  • rpl_semi_sync_master_wait_for_slave_count:在 continue 之前,主服务器每次事务必须接收多少个从设备确认。

  • rpl_semi_sync_master_wait_no_slave:即使没有从机,主机是否也要 await 超时。

  • rpl_semi_sync_master_wait_point:从属事务接收确认的 await 点。

  • Rpl_semi_sync_master_wait_pos_backtraverse:主机 await 事件的二进制坐标比以前 await 的事件低的总次数。

  • Rpl_semi_sync_master_wait_sessions:当前 await 从属答复的会话数。

  • Rpl_semi_sync_master_yes_tx:成功确认的提交数。

  • rpl_semi_sync_slave_enabled:是否在从属服务器上启用了半同步复制。

  • Rpl_semi_sync_slave_status:在从属服务器上是否可以运行半同步复制。

  • rpl_semi_sync_slave_trace_level:从服务器上的半同步复制调试跟踪级别。

  • rpl_stop_slave_timeout:设置 STOP SLAVE 在超时之前 await 的秒数。

  • server_uuid:服务器的全局唯一 ID,在服务器启动时自动(重新)生成。

  • show-slave-auth-info:在此主机上的 SHOW SLAVE HOSTS 中显示用户名和密码。

  • skip-slave-start:如果设置,则不会自动启动从站。

  • slave_load_tmpdir:从服务器在复制 LOAD DATA 语句时应放置其临时文件的位置。

  • slave_net_timeout:中止读取之前 await 主/从 Connecting 更多数据的秒数。

  • slave-skip-errors:当查询从提供的列 table 中返回错误时,告诉从线程 continue 复制。

  • slave_checkpoint_group:在调用检查点操作以更新进度状态之前,多线程从属服务器处理的最大事务数。 NDB 群集不支持。

  • slave_checkpoint_period:在此毫秒数后,将多线程从属服务器的进度状态更新并刷新中继日志信息到磁盘。 NDB 群集不支持。

  • slave_compressed_protocol:使用主/从协议的压缩。

  • slave_exec_mode:允许在 IDEMPOTENT 模式(抑制键和其他一些错误)和 STRICT 模式之间切换从属线程; STRICT 模式是默认模式,但始终使用 IDEMPOTENT 的 NDB Cluster 除外。

  • Slave_heartbeat_period:从站的复制心跳间隔,以秒为单位。

  • Slave_last_heartbeat:以 TIMESTAMP 格式显示何时接收到最新的心跳 signal。

  • slave_max_allowed_packet:可以从复制主服务器发送到从属服务器的数据包的最大大小(以字节为单位);覆盖 max_allowed_packet。

  • Slave_open_temp_tables:从属 SQL 线程当前已打开的临时 table 数。

  • slave_parallel_type:告诉从服务器使用时间戳信息(LOGICAL_CLOCK)或数据库分区(DATABASE)来并行化事务。

  • slave_parallel_workers:用于并行执行复制事务的应用程序线程数。值 0 禁用从属多线程。 MySQL 群集不支持。

  • slave_pending_jobs_size_max:暂存尚未应用事件的从属工作者队列的最大大小。

  • slave_preserve_commit_order:确保在使用并行应用程序线程时,从属 Worker 的所有提交都按照与主服务器上相同的 Sequences 进行,以保持一致性。

  • Slave_received_heartbeats:自从上次重置以来,复制从设备收到的心跳数。

  • Slave_retried_transactions:自启动以来,复制从 SQL 线程已重试事务的总次数。

  • slave_rows_search_algorithms:确定用于从属更新批处理的搜索算法。列 tableINDEX_SEARCH,TABLE_SCAN,HASH_SCAN 中的任意 2 或 3.

  • Slave_rows_last_search_algorithm_used:此从属服务器最近使用的搜索算法,以查找行以进行基于行的复制(索引,table 或哈希扫描)。

  • Slave_running:该服务器作为复制从属服务器的状态(从属 I/O 线程状态)。

  • slave_transaction_retries:从属 SQL 线程在放弃和停止之前,由于死锁或锁 await 超时而失败的情况下,重试事务的次数。

  • slave_type_conversions:控制复制从属服务器上的类型转换模式。值是列 table 中零个或多个元素的列 table:ALL_LOSSY,ALL_NON_LOSSY。设置为空字符串以禁止主机和从机之间的类型转换。

  • sql_log_bin:控制当前会话的二进制日志记录。

  • sql_slave_skip_counter:主服务器上从属服务器应跳过的事件数。与 GTID 复制不兼容。

  • sync_master_info:每个第#个事件后,将 master.info 同步到磁盘。

  • sync_relay_log:在每个第#个事件后,将中继日志同步到磁盘。

  • sync_relay_log_info:每个第#个事件后,将 relay.info 文件同步到磁盘。

  • transaction_write_set_extraction:定义用于对事务期间提取的写入进行哈希处理的算法。

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

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

下 table 中的命令行选项和系统变量与二进制日志有关。 第 16.1.6.4 节“二进制日志记录选项和变量”,提供有关与二进制日志记录有关的选项和变量的更多详细信息。有关二进制日志的其他常规信息,请参见第 5.4.4 节“二进制日志”

  • binlog-checksum:启用/禁用二进制日志校验和。

  • binlog-do-db:将二进制日志记录限制为特定的数据库。

  • binlog_format:指定二进制日志的格式。

  • 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_error_action:控制服务器无法写入二进制日志时发生的情况。

  • binlog_group_commit_sync_delay:设置将事务同步到磁盘之前要 await 的微秒数。

  • binlog_group_commit_sync_no_delay_count:设置中止 binlog_group_commit_sync_delay 指定的当前延迟之前要 await 的最大事务数。

  • binlog_max_flush_queue_time:刷新到二进制日志之前需要多长时间读取事务。

  • binlog_order_commits:是否以与写入二进制日志相同的 Sequences 提交。

  • binlog_row_image:记录行更改时使用完整或最小图像。

  • binlog_rows_query_log_events:启用后,在使用基于行的日志记录时启用对行查询日志事件的记录。默认禁用。为 5.6 之前的从属/阅读器生成日志时,请勿启用。

  • Binlog_stmt_cache_disk_use:使用临时文件而不是二进制日志语句高速缓存的非事务语句的数量。

  • binlog_stmt_cache_size:在事务期间用于保存二进制日志的非事务性语句的缓存大小。

  • Binlog_stmt_cache_use:使用临时二进制日志语句高速缓存的语句数。

  • binlog_transaction_dependency_tracking:依赖项信息的来源(提交时间戳或事务写集),可用来评估从站的多线程应用程序可以并行执行哪些事务。

  • 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_bin_use_v1_row_events:服务器是否正在使用版本 1 二进制日志行事件。

  • 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:可用于限制在事务期间用于缓存所有非事务性语句的总大小。

  • slave-sql-verify-checksum:使从站在从中继日志中读取时检查校验和。

  • slave_sql_verify_checksum:使从站从继电器日志中读取时检查校验和。

  • sporadic-binlog-dump-fail:mysql-test 用于调试和测试复制的选项。

  • sync_binlog:每个第#个事件后,将二进制日志同步刷新到磁盘。

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