The following two sections provide basic information about the MySQL command-line options and system variables applicable to replication and the binary log.
The command-line options and system variables in the following list relate to replication masters and replication slaves. Section 2.6.2, “Replication Source Options and Variables”, provides more detailed information about options and variables relating to replication master servers. For more information about options and variables relating to replication slaves, see Section 2.6.3, “Replica Server Options and Variables”.
abort-slave-event-count: Option used by mysql-test for debugging and testing of replication.
auto_increment_increment: AUTO_INCREMENT columns are incremented by this value.
auto_increment_offset: Offset added to AUTO_INCREMENT columns.
binlog_expire_logs_seconds: Purge binary logs after this many seconds.
binlog_gtid_simple_recovery: Controls how binary logs are iterated during GTID recovery.
Com_change_master: Count of CHANGE MASTER TO statements.
Com_show_master_status: Count of SHOW MASTER STATUS statements.
Com_show_slave_hosts: Count of SHOW SLAVE HOSTS statements.
Com_show_slave_status: Count of SHOW SLAVE STATUS statements.
Com_slave_start: Count of START SLAVE statements.
Com_slave_stop: Count of STOP SLAVE statements.
disconnect-slave-event-count: Option used by mysql-test for debugging and testing of replication.
enforce_gtid_consistency: Prevents execution of statements that cannot be logged in a transactionally safe manner.
expire_logs_days: Purge binary logs after this many days.
gtid_executed: Global: All GTIDs in the binary log (global) or current transaction (session). Read-only.
gtid_executed_compression_period: Compress gtid_executed table each time this many transactions have occurred. 0 means never compress this table. Applies only when binary logging is disabled.
gtid_mode: Controls whether GTID based logging is enabled and what type of transactions the logs can contain.
gtid_next: Specifies the GTID for the next statement to execute; see documentation for details.
gtid_owned: The set of GTIDs owned by this client (session), or by all clients, together with the thread ID of the owner (global). Read-only.
gtid_purged: The set of all GTIDs that have been purged from the binary log.
init_slave: Statements that are executed when a slave connects to a master.
log_bin_trust_function_creators: If equal to 0 (the default), then when --log-bin is used, creation of a stored function is allowed only to users having the SUPER privilege and only if the function created does not break binary logging.
log_statements_unsafe_for_binlog: Disables error 1592 warnings being written to the error log.
master-info-file: The location and name of the file that remembers the master and where the I/O replication thread is in the master's binary logs.
master-retry-count: Number of tries the slave makes to connect to the master before giving up.
master_info_repository: Whether to write master status information and replication I/O thread location in the master's binary logs to a file or table.
max_relay_log_size: If nonzero, relay log is rotated automatically when its size exceeds this value. If zero, size at which rotation occurs is determined by the value of max_binlog_size.
original_commit_timestamp: The time when a transaction was committed on the original master.
immediate_server_version: The MySQL Server release number of the server that is the immediate master in a replication topology.
original_server_version: The MySQL Server release number of the server where a transaction was originally committed.
relay_log: The location and base name to use for relay logs.
relay_log_basename: Complete path to relay log, including file name.
relay_log_index: The location and name to use for the file that keeps a list of the last relay logs.
relay_log_info_file: File in which the slave records information about the relay logs.
relay_log_info_repository: Whether to write the replication SQL thread's location in the relay logs to a file or a table.
relay_log_purge: Determines whether relay logs are purged.
relay_log_recovery: Whether automatic recovery of relay log files from master at startup is enabled; must be enabled for a crash-safe slave.
relay_log_space_limit: Maximum space to use for all relay logs.
replicate-do-db: Tells the slave SQL thread to restrict replication to the specified database.
replicate-do-table: Tells the slave SQL thread to restrict replication to the specified table.
replicate-ignore-db: Tells the slave SQL thread not to replicate to the specified database.
replicate-ignore-table: Tells the slave SQL thread not to replicate to the specified table.
replicate-rewrite-db: Updates to a database with a different name than the original.
replicate-same-server-id: In replication, if enabled, do not skip events having our server id.
replicate-wild-do-table: Tells the slave thread to restrict replication to the tables that match the specified wildcard pattern.
replicate-wild-ignore-table: Tells the slave thread not to replicate to the tables that match the given wildcard pattern.
report_host: Host name or IP of the slave to be reported to the master during slave registration.
report_password: An arbitrary password that the slave server should report to the master. Not the same as the password for the MySQL replication user account.
report_port: Port for connecting to slave reported to the master during slave registration.
report_user: An arbitrary user name that a slave server should report to the master. Not the same as the name used with the MySQL replication user account.
Rpl_semi_sync_master_clients: Number of semisynchronous slaves.
rpl_semi_sync_master_enabled: Whether semisynchronous replication is enabled on the master.
Rpl_semi_sync_master_net_avg_wait_time: The average time the master waited for a slave reply.
Rpl_semi_sync_master_net_wait_time: The total time the master waited for slave replies.
Rpl_semi_sync_master_net_waits: The total number of times the master waited for slave replies.
Rpl_semi_sync_master_no_times: Number of times the master turned off semisynchronous replication.
Rpl_semi_sync_master_no_tx: Number of commits not acknowledged successfully.
Rpl_semi_sync_master_status: Whether semisynchronous replication is operational on the master.
Rpl_semi_sync_master_timefunc_failures: Number of times the master failed when calling time functions.
rpl_semi_sync_master_timeout: Number of milliseconds to wait for slave acknowledgment.
rpl_semi_sync_master_trace_level: The semisynchronous replication debug trace level on the master.
Rpl_semi_sync_master_tx_avg_wait_time: The average time the master waited for each transaction.
Rpl_semi_sync_master_tx_wait_time: The total time the master waited for transactions.
Rpl_semi_sync_master_tx_waits: The total number of times the master waited for transactions.
rpl_semi_sync_master_wait_for_slave_count: How many slave acknowledgments the master must receive per transaction before proceeding.
rpl_semi_sync_master_wait_no_slave: Whether master waits for timeout even with no slaves.
rpl_semi_sync_master_wait_point: The wait point for slave transaction receipt acknowledgment.
Rpl_semi_sync_master_wait_pos_backtraverse: The total number of times the master waited for an event with binary coordinates lower than events waited for previously.
Rpl_semi_sync_master_wait_sessions: Number of sessions currently waiting for slave replies.
Rpl_semi_sync_master_yes_tx: Number of commits acknowledged successfully.
rpl_semi_sync_slave_enabled: Whether semisynchronous replication is enabled on slave.
Rpl_semi_sync_slave_status: Whether semisynchronous replication is operational on slave.
rpl_semi_sync_slave_trace_level: The semisynchronous replication debug trace level on the slave.
rpl_read_size: Set the minimum amount of data in bytes that is read from the binary log files and relay log files.
rpl_stop_slave_timeout: Set the number of seconds that STOP SLAVE waits before timing out.
server_uuid: The server's globally unique ID, automatically (re)generated at server start.
show-slave-auth-info: Show user name and password in SHOW SLAVE HOSTS on this master.
skip-slave-start: If set, slave is not autostarted.
slave_load_tmpdir: The location where the slave should put its temporary files when replicating LOAD DATA statements.
slave_net_timeout: Number of seconds to wait for more data from a master/slave connection before aborting the read.
slave-skip-errors: Tells the slave thread to continue replication when a query returns an error from the provided list.
slave_checkpoint_group: Maximum number of transactions processed by a multithreaded slave before a checkpoint operation is called to update progress status. Not supported by NDB Cluster.
slave_checkpoint_period: Update progress status of multithreaded slave and flush relay log info to disk after this number of milliseconds. Not supported by NDB Cluster.
slave_compressed_protocol: Use compression of master/slave protocol.
slave_exec_mode: Allows for switching the slave thread between IDEMPOTENT mode (key and some other errors suppressed) and STRICT mode; STRICT mode is the default, except for NDB Cluster, where IDEMPOTENT is always used.
slave_max_allowed_packet: Maximum size, in bytes, of a packet that can be sent from a replication master to a slave; overrides max_allowed_packet.
Slave_open_temp_tables: Number of temporary tables that the slave SQL thread currently has open.
slave_parallel_type: Tells the slave to use timestamp information (LOGICAL_CLOCK) or database partioning (DATABASE) to parallelize transactions.
slave_parallel_workers: Number of applier threads for executing replication transactions in parallel. A value of 0 disables slave multithreading. Not supported by MySQL Cluster.
slave_pending_jobs_size_max: Maximum size of slave worker queues holding events not yet applied.
slave_preserve_commit_order: Ensures that all commits by slave workers happen in the same order as on the master to maintain consistency when using parallel applier threads.
slave_rows_search_algorithms: Determines search algorithms used for slave update batching. Any 2 or 3 from the list INDEX_SEARCH, TABLE_SCAN, HASH_SCAN.
Slave_rows_last_search_algorithm_used: Search algorithm most recently used by this slave to locate rows for row-based replication (index, table, or hash scan).
slave_transaction_retries: Number of times the slave SQL thread will retry a transaction in case it failed with a deadlock or elapsed lock wait timeout, before giving up and stopping.
slave_type_conversions: Controls type conversion mode on replication slave. Value is a list of zero or more elements from the list: ALL_LOSSY, ALL_NON_LOSSY. Set to an empty string to disallow type conversions between master and slave.
sql_log_bin: Controls binary logging for the current session.
sql_slave_skip_counter: Number of events from the master that a slave server should skip. Not compatible with GTID replication.
sync_master_info: Synchronize master.info to disk after every #th event.
sync_relay_log: Synchronize relay log to disk after every #th event.
sync_relay_log_info: Synchronize relay.info file to disk after every #th event.
transaction_write_set_extraction: Defines the algorithm used to hash the writes extracted during a transaction.
For a listing of all command-line options, system and status variables used with mysqld, see Server Option, System Variable, and Status Variable Reference.
The command-line options and system variables in the following list relate to the binary log. Section 2.6.4, “Binary Logging Options and Variables”, provides more detailed information about options and variables relating to binary logging. For additional general information about the binary log, see The Binary Log.
binlog-checksum: Enable/disable binary log checksums.
binlog-do-db: Limits binary logging to specific databases.
binlog_format: Specifies the format of the binary log.
binlog-ignore-db: Tells the master that updates to the given database should not be logged to the binary log.
binlog-row-event-max-size: Binary log max event size.
binlog_encryption: Enable encryption for binary log files and relay log files on this server.
binlog_rotate_encryption_master_key_at_startup: Rotate the binary log master key at server startup.
Binlog_cache_disk_use: Number of transactions that used a temporary file instead of the binary log cache.
binlog_cache_size: Size of the cache to hold the SQL statements for the binary log during a transaction.
Binlog_cache_use: Number of transactions that used the temporary binary log cache.
binlog_checksum: Enable/disable binary log checksums.
binlog_direct_non_transactional_updates: Causes updates using statement format to nontransactional engines to be written directly to binary log. See documentation before using.
binlog_error_action: Controls what happens when the server cannot write to the binary log.
binlog_group_commit_sync_delay: Sets the number of microseconds to wait before synchronizing transactions to disk.
binlog_group_commit_sync_no_delay_count: Sets the maximum number of transactions to wait for before aborting the current delay specified by binlog_group_commit_sync_delay.
binlog_max_flush_queue_time: How long to read transactions before flushing to binary log.
binlog_order_commits: Whether to commit in same order as writes to binary log.
binlog_row_image: Use full or minimal images when logging row changes.
binlog_row_metadata: Configures the amount of table related metadata binary logged when using row-based logging.
binlog_row_value_options: Enables binary logging of partial JSON updates for row-based replication.
binlog_rows_query_log_events: When enabled, enables logging of rows query log events when using row-based logging. Disabled by default. Do not enable when producing logs for pre-5.6 slaves/readers.
Binlog_stmt_cache_disk_use: Number of nontransactional statements that used a temporary file instead of the binary log statement cache.
binlog_stmt_cache_size: Size of the cache to hold nontransactional statements for the binary log during a transaction.
Binlog_stmt_cache_use: Number of statements that used the temporary binary log statement cache.
binlog_transaction_compression: Enable compression for transaction payloads in binary log files.
binlog_transaction_compression_level_zstd: Compression level for transaction payloads in binary log files.
binlog_transaction_dependency_tracking: Source of dependency information (commit timestamps or transaction write sets) from which to assess which transactions can be executed in parallel by slave's multithreaded applier.
binlog_transaction_dependency_history_size: Number of row hashes kept for looking up transaction that last updated some row.
Com_show_binlog_events: Count of SHOW BINLOG EVENTS statements.
Com_show_binlogs: Count of SHOW BINLOGS statements.
log-bin: Specifies the base name for binary log files.
log-bin-index: Specifies the name for the binary log index file.
log_bin: Whether the binary log is enabled.
log_bin_basename: Path and base name for binary log files.
log_bin_use_v1_row_events: Whether server is using version 1 binary log row events.
log_slave_updates: Whether the slave should log the updates performed by its SQL thread to its own binary log.
master_verify_checksum: Cause master to examine checksums when reading from the binary log.
max-binlog-dump-events: Option used by mysql-test for debugging and testing of replication.
max_binlog_cache_size: Can be used to restrict the total size used to cache a multi-statement transaction.
max_binlog_size: Binary log will be rotated automatically when size exceeds this value.
max_binlog_stmt_cache_size: Can be used to restrict the total size used to cache all nontransactional statements during a transaction.
slave-sql-verify-checksum: Cause slave to examine checksums when reading from the relay log.
slave_sql_verify_checksum: Cause slave to examine checksums when reading from relay log.
sporadic-binlog-dump-fail: Option used by mysql-test for debugging and testing of replication.
sync_binlog: Synchronously flush binary log to disk after every #th event.
For a listing of all command-line options, system and status variables used with mysqld, see Server Option, System Variable, and Status Variable Reference.