System Variables in 10.3 CS
MariaDB Community Server configuration is handled through a series of special variables called system variables. You can define system variables using a configuration file (e.g., my.cnf) or through command-line options passed to the Server when it starts. Additionally, some system variables are dynamic and can be defined using the
Specify the alter table algorithm
Block size to be used for Aria index pages.
Interval between tries to do an automatic checkpoints. In seconds; 0 means 'no automatic checkpoints' which makes sense only for testing.
Number of bytes that the transaction log has to grow between checkpoints before a new checkpoint is written to the log.
Encrypt tables (only for tables with ROW_FORMAT=PAGE (default) and not FIXED/DYNAMIC)
Number of consecutive log recovery failures after which logs will be automatically deleted to cure the problem; 0 (the default) disables the feature.
Specifies Aria group commit mode. Possible values are "none" (no group commit), "hard" (with waiting to actual commit), "soft" (no wait for commit (DANGEROUS!!!))
Interval between commite in microseconds (1/1000000c). 0 stands for no waiting for other threads to come and do a commit in "hard" mode and no sync()/commit at all in "soft" mode. Option has only an effect if aria_group_commit is used
Limit for transaction log size
Specifies how Aria transactional log will be purged
Don't use the fast sort index method to created index if the temporary file would get bigger than this.
Maintain page checksums (can be overridden per table with PAGE_CHECKSUM clause in CREATE TABLE)
This characterizes the number of hits a hot block has to be untouched until it is considered aged enough to be downgraded to a warm block. This specifies the percentage ratio of that number of hits to the total number of blocks in the page cache.
The size of the buffer used for index blocks for Aria tables. Increase this to get better index handling (for all reads and multiple writes) to as much as you can afford.
The minimum percentage of warm blocks in key cache
Number of hash buckets for open and changed files. If you have a lot of Aria files open you should increase this for faster flush of changes. A good value is probably 1/10 of number of possible open Aria files.
Specifies how corrupted tables should be automatically repaired
Number of threads to use when repairing Aria tables. The value of 1 disables parallel repair.
The buffer that is allocated when sorting the index when doing a REPAIR or when creating indexes with CREATE INDEX or ALTER TABLE.
Specifies how Aria index statistics collection code should treat NULLs
Controls syncing directory after log file growth and new file creation
Whether temporary tables should be MyISAM or Aria
Auto-increment columns are incremented by this
Offset added to Auto-increment columns. Used when auto-increment-increment != 1
If set to 1, the default, all queries are committed immediately. If set to 0, they are only committed upon a COMMIT statement, or rolled back with a ROLLBACK statement. If autocommit is set to 0, and then changed to 1, all open transactions are immediately committed.
Creating and dropping stored procedures alters ACLs
Encryption algorithm used to create new keys.
Dump log of the AWS SDK to MariaDB error log. Permitted values, in increasing verbosity, are Off (default), Fatal, Error, Warn, Info, Debug, and Trace.
AWS KMS Customer Master Key ID (ARN or alias prefixed by alias/) for the master encryption key. Used to create new data keys. If not set, no new data keys will be created.
Mock AWS KMS calls (for testing). Must be enabled at compile-time.
AWS region name, e.g., us-east-1 . Default is SDK default, which is us-east-1.
Timeout in milliseconds for create HTTPS connection or execute AWS request. Specify 0 to use SDK default.
Set this variable to a data key ID to perform rotation of the key to the master key given in aws_key_management_master_key_id. Specify -1 to rotate all keys.
The number of outstanding connection requests MariaDB can have. This comes into play when the main MariaDB thread gets very many connection requests in a very short time
Path to installation directory. All paths are usually resolved relative to this
Old variable, which if set to 1, allows large result sets by saving all temporary sets to disk, avoiding 'table full' errors. No longer needed, as the server now handles this automatically. sql_big_tables is a synonym.
IP address to bind to.
Tells the master to annotate RBR events with the statement that caused these events
The size of the transactional cache for updates to transactional engines for the binary log. If you often use transactions containing many statements, you can increase this to get more performance
Type of BINLOG_CHECKSUM_ALG. Include checksum for log events in the binary log
If non-zero, binlog write will wait at most binlog_commit_wait_usec microseconds for at least this many commits to queue up for group commit to the binlog. This can reduce I/O on the binlog and provide increased opportunity for parallel apply on the slave, but too high a value will decrease commit throughput.
Maximum time, in microseconds, to wait for more commits to queue up for binlog group commit. Only takes effect if the value of binlog_commit_wait_count is non-zero.
Causes updates to non-transactional engines using statement format to be written directly to binary log. Before using this option make sure that there are no dependencies between transactional and non-transactional tables such as in the statement INSERT INTO t_myisam SELECT * FROM t_innodb; otherwise, slaves may diverge from the master.
The size of file cache for the binary log
What form of binary logging the master will use: either ROW for row-based binary logging, STATEMENT for statement-based binary logging, or MIXED. MIXED is statement-based binary logging except for those statements where only row-based is correct: those which involve user-defined functions (i.e., UDFs) or the UUID() function; for those, row-based binary logging is automatically used.
Run fast part of group commit in a single thread, to optimize kernel thread scheduling. On by default. Disable to run each transaction in group commit in its own thread, which can be slower at very high concurrency. This option is mostly for testing one algorithm versus the other, and it should not normally be necessary to change it.
Controls whether rows should be logged in 'FULL', 'NOBLOB' or 'MINIMAL' formats. 'FULL', means that all columns in the before and after image are logged. 'NOBLOB', means that mysqld avoids logging blob columns whenever possible (e.g., blob column was not changed or is not part of primary key). 'MINIMAL', means that a PK equivalent (PK columns or full row if there is no PK in the table) is logged in the before image, and only changed columns are logged in the after image. (Default: FULL).
The size of the statement cache for updates to non-transactional engines for the binary log. If you often use statements updating a great number of rows, you can increase this to get more performance.
Size of tree cache used in bulk insert optimisation. Note that this is a limit per thread!
The character set for statements that arrive from the client
The character set used for literals that do not have a character set introducer and for number-to-string conversion
The character set used by the default database
The filesystem character set
The character set used for returning query results to the client
The default character set
The character set used by the server for storing identifiers
Directory where character sets are
The collation of the connection character set
The collation of the database character set
The server default collation
Minimum column data length eligible for compression
zlib compression level (1 gives best speed, 9 gives best compression)
The strategy parameter is used to tune the compression algorithm. Use the value DEFAULT_STRATEGY for normal data, FILTERED for data produced by a filter (or predictor), HUFFMAN_ONLY to force Huffman encoding only (no string match), or RLE to limit match distances to one (run-length encoding). Filtered data consists mostly of small values with a somewhat random distribution. In this case, the compression algorithm is tuned to compress them better. The effect of FILTERED is to force more Huffman coding and less string matching; it is somewhat intermediate between DEFAULT_STRATEGY and HUFFMAN_ONLY. RLE is designed to be almost as fast as HUFFMAN_ONLY, but give better compression for PNG image data. The strategy parameter only affects the compression ratio but not the correctness of the compressed output even if it is not set appropriately. FIXED prevents the use of dynamic Huffman codes, allowing for a simpler decoder for special applications.
Generate zlib header and trailer and compute adler32 check value. It can be used with storage engines that don't provide data integrity verification to detect data corruption.
The transaction completion type
Use concurrent insert with MyISAM
The number of seconds the mysqld server is waiting for a connect packet before responding with 'Bad handshake'
write a core-file on crashes
Path to a cracklib dictionary
Path to the database root directory
The DATE format (ignored)
The DATETIME format (ignored)
Long search depth for the two-step deadlock detection
Short search depth for the two-step deadlock detection
Long timeout for the two-step deadlock detection (in microseconds)
Short timeout for the two-step deadlock detection (in microseconds)
Available in debug builds only (built with -SWITH_DEBUG=1). Used in debugging through the DBUG library to write to a trace file. Just using --debug will write a trace of what mysqld is doing to /tmp/mysqld.trace.
Disable system thread alarm calls. Disabling it may be useful in debugging or testing, never do it in production
Used in debugging to show the interface to the Debug Sync facility. MariaDB needs to be configured with -DENABLE_DEBUG_SYNC=1 for this variable to be available.
Master connection to use for all slave variables and slave commands
Default flags for the regex library
The default storage engine for new tables
The default storage engine for user-created temporary tables
The default week format used by WEEK() functions
Specifies how MyISAM tables handles CREATE TABLE DELAY_KEY_WRITE. If set to ON, the default, any DELAY KEY WRITEs are honored. The key buffer is then flushed only when the table closes, speeding up writes. MyISAM tables should be automatically checked upon startup in this case, and --external locking should not be used, as it can lead to index corruption. If set to OFF, DELAY KEY WRITEs are ignored, while if set to ALL, all new opened tables are treated as if created with DELAY KEY WRITEs enabled.
After inserting delayed_insert_limit rows, the INSERT DELAYED handler will check if there are any SELECT statements pending. If so, it allows these to execute before continuing.
How long a INSERT DELAYED thread should wait for INSERT statements before terminating
What size queue (in rows) should be allocated for handling INSERT DELAYED. If the queue becomes full, any client that does INSERT DELAYED will wait until there is room in the queue again
Precision of the result of '/' operator will be increased on that value
Encrypt binary logs (including relay logs)
Encrypt temporary on-disk tables (created as part of query execution)
Encrypt temporary files (created for filesort, binary log cache, etc)
Force the use of a storage engine for new tables
The optimizer will use existing index statistics instead of doing index dives for equality ranges if the number of equality ranges for the index is larger than or equal to this number. If set to 0, index dives are always used.
The number of errors that resulted from the last statement that generated messages
Enable the event scheduler. Possible values are ON, OFF, and DISABLED (keep the event scheduler completely deactivated, it cannot be activated run-time)
The maximum number of rows a subquery may examine in order to be executed during optimization and used for constant optimization
If non-zero, binary logs will be purged after expire_logs_days days; possible purges happen at startup and at binary log rotation
This option causes CREATE TABLE to create all TIMESTAMP columns as NULL with DEFAULT NULL attribute, Without this option, TIMESTAMP columns are NOT NULL and have implicit DEFAULT clauses.
The external user account used when logging in
The number of connections on extra-port
Extra port number to use for tcp connections in a one-thread-per-connection manner. 0 means don't use another port
Proxy server host:port.
Wait this many seconds before retrying a failed send.
Timeout (in seconds) for the sending the report.
Automatically calculated server unique id hash.
Space separated URLs to send the feedback report to.
User specified string that will be included in the feedback report.
Encryption algorithm to use, aes_ctr is the recommended one.
Key to encrypt / decrypt the keyfile.
Path and name of the key file.
Flush MyISAM tables to disk between SQL commands
A dedicated thread is created to flush all tables at the given interval
If set to 1 (the default) foreign key constraints (including ON UPDATE and ON DELETE behavior) InnoDB tables are checked, while if set to 0, they are not checked. 0 is not recommended for normal use, though it can be useful in situations where you know the data is consistent, but want to reload data in a different order from that that specified by parent/child relationships. Setting this variable to 1 does not retrospectively check for inconsistencies introduced while set to 0.
List of operators for MATCH ... AGAINST ( ... IN BOOLEAN MODE)
The maximum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable
The minimum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable
Number of best matches to use for query expansion
Use stopwords from this file instead of built-in list
Log connections and queries to a table or log file. Defaults logging to a file 'hostname'.log or a table mysql.general_logif --log-output=TABLE is used.
Log connections and queries to given file
The maximum length of the result of function GROUP_CONCAT()
Defines the path to the server's keytab file. This system variable is only meaningful on Unix. See Creating a Keytab File on a Unix Server for more information.
Name of the SSPI package used by server. Can be either 'Kerberos' or 'Negotiate'. Set it to 'Kerberos', to prevent less secure NTLM in domain environments, but leave it as default (Negotiate) to allow non-domain environments (e.g., if server does not run in a domain environment). This system variable is only meaningful on Windows.
Name of the service principal.
Last GTID logged to the binary log, per replicationdomain
The internal GTID state of the binlog, used to keep track of all GTIDs ever logged to the binlog.
Current GTID position of the server. Per replication domain, this is either the last GTID replicated by a slave thread, or the GTID logged to the binary log, whichever is most recent.
Used with global transaction ID to identify logically independent replication streams. When events can propagate through multiple parallel paths (for example multiple masters), each independent source server must use a distinct domain_id. For simple tree-shaped replication topologies, it can be left at its default, 0.
When set, different master connections in multi-source replication are allowed to receive and process event groups with the same GTID (when using GTID mode). Only one will be applied, any others will be ignored. Within a given replication domain, just the sequence number will be used to decide whether a given GTID has been already applied; this means it is the responsibility of the user to ensure that GTID sequence numbers are strictly increasing.
List of engines for which to automatically create a mysql.gtid_slave_pos_ENGINE table, if a transaction using that engine is replicated. This can be used to avoid introducing cross-engine transactions, if engines are used different from that used by table mysql.gtid_slave_pos
Internal server usage, for replication with global transaction id. When set, next event group logged to the binary log will use this sequence number, not generate a new one, thus allowing to preserve master's GTID in slave's binlog.
The list of global transaction IDs that were last replicated on the server, one for each replication domain.
Enforce strict seq_no ordering of events in the binary log. Slave stops with an error if it encounters an event that would cause it to generate an out-of-order binlog if executed.
If the zlib compression library is accessible to the server, this will be set to YES, otherwise it will be NO. The COMPRESS() and UNCOMPRESS() functions will only be available if set to YES.
If the crypt() system call is available this variable will be set to YES, otherwise it will be set to NO. If set to NO, the ENCRYPT() function cannot be used.
If the server supports dynamic loading of plugins, will be set to YES, otherwise will be set to NO.
If the server supports spatial data types, will be set to YES, otherwise will be set to NO.
Comparing have_openssl with have_ssl will indicate whether YaSSL or openssl was used. If YaSSL, have_ssl will be YES, but have_openssl will be NO.
If statement profiling is available, will be set to YES, otherwise will be set to NO. See SHOW PROFILES and SHOW PROFILE.
If the server supports the query cache, will be set to YES, otherwise will be set to NO.
If RTREE indexes (used for spatial indexes) are available, will be set to YES, otherwise will be set to NO.
If the server supports secure connections, will be set to YES, otherwise will be set to NO. If set to DISABLED, the server was compiled with TLS support, but was not started with TLS support (see the mysqld options). See also have_openssl.
If symbolic link support is enabled, will be set to YES, otherwise will be set to NO. Required for the INDEX DIRECTORY and DATA DIRECTORY table options (see CREATE TABLE) and Windows symlink support. Will be set to DISABLED if the server is started with the --skip-symbolic-links option.
Number of bytes used for a histogram. If set to 0, no histograms are created by ANALYZE.
Specifies type of the histograms created by ANALYZE. Possible values are: SINGLE_PREC_HB - single precision height-balanced, DOUBLE_PREC_HB - double precision height-balanced.
How many host names should be cached to avoid resolving.
Server host name
Synonym for the last_insert_id variable
The number of seconds the server waits for read-only idle transaction
The number of seconds the server waits for idle transaction
The number of seconds the server waits for write idle transaction
Disable initialization of builtin InnoDB plugin
Specifies a directory to add to the ignore list when collecting database names from the datadir. Put a blank argument to reset the list accumulated so far.
The minimum number of scalar elements in the value list of IN predicate that triggers its conversion to IN subquery. Set to 0 to disable the conversion.
Whether there is an active transaction
Command(s) that are executed for each new connection (unless the user has SUPER privilege)
Read SQL commands from this file at startup
Command(s) that are executed by a slave server each time the SQL thread starts
Replaced with innodb_adaptive_flushing_method.
Attempt flushing dirty pages to avoid IO bursts at checkpoints.
Percentage of log capacity below which no adaptive flushing happens.
Enable InnoDB adaptive hash index (enabled by default). Disable with --skip-innodb-adaptive-hash-index.
Number of InnoDB Adaptive Hash Index Partitions (default 8)
The upper limit of the sleep delay in usec. Value of 0 disables it.
Data file autoextend increment in megabytes
The AUTOINC lock modes supported by InnoDB: 0 => Old style AUTOINC locking (for backward compatibility); 1 => New style AUTOINC locking; 2 => No AUTOINC locking (unsafe for SBR)
check if spaces needs scrubbing every innodb_background_scrub_data_check_interval seconds
Enable scrubbing of compressed data by background threads (same as encryption_threads)
scrub spaces that were last scrubbed longer than innodb_background_scrub_data_interval seconds ago
Enable scrubbing of uncompressed data by background threads (same as encryption_threads)
A number between [0, 100] that tells how oftern buffer pool dump status in percentages should be printed. E.g. 10 means that buffer pool dump status is printed when every 10% of number of buffer pool pages are dumped. Default is 0 (only start and end status is printed).
Size of a single memory chunk within each buffer pool instance for resizing buffer pool. Online buffer pool resizing happens at this granularity. 0 means disable resizing buffer pool.
Dump the buffer pool into a file named @@innodb_buffer_pool_filename
Trigger an immediate dump of the buffer pool into a file named @@innodb_buffer_pool_filename
Dump only the hottest N% of each buffer pool, defaults to 25
Used in testing InnoDB Buffer Pool.
Filename to/from which to dump/load the InnoDB buffer pool
Number of buffer pool instances, set to higher value on high-end machines to increase scalability
Abort a currently running load of the buffer pool
Load the buffer pool from a file named @@innodb_buffer_pool_filename
Trigger an immediate load of the buffer pool from a file named @@innodb_buffer_pool_filename
The size of the memory buffer InnoDB uses to cache data and indexes of its tables.
Maximum on-disk size of change buffer in terms of percentage of the buffer pool.
Buffer changes to secondary indexes.
Used in debugging builds for InnoDB.
The algorithm InnoDB uses for page checksumming. Possible values are CRC32 (hardware accelerated if the CPU supports it) write crc32, allow any of the other checksums to match when reading; STRICT_CRC32 write crc32, do not allow other algorithms to match when reading; INNODB write a software calculated checksum, allow any other checksums to match when reading; STRICT_INNODB write a software calculated checksum, do not allow other algorithms to match when reading; NONE write a constant magic number, do not do any checksum verification when reading (same as innodb_checksums=OFF); STRICT_NONE write a constant magic number, do not allow values other than that magic number when reading; Files updated when this option is set to crc32 or strict_crc32 will not be readable by MariaDB versions older than 10.0.4
DEPRECATED. Use innodb_checksum_algorithm=NONE instead of setting this to OFF. Enable InnoDB checksums validation (enabled by default). Disable with --skip-innodb-checksums.
Enable INFORMATION_SCHEMA.innodb_cmp_per_index, may have negative impact on performance (off by default)
Helps in performance tuning in heavily concurrent environments.
Compression algorithm used on page compression. One of: none, zlib, lz4, lzo, lzma, bzip2, or snappy
Is compression the default for new tables
If the compression failure rate of a table is greater than this number more padding is added to the pages to reduce the failures. A value of zero implies no padding
Compression level used for zlib compression. 0 is no compression, 1 is fastest, 9 is best compression and default is 6.
Percentage of empty space on a data page that can be reserved to make the page compressible.
Number of times a thread is allowed to enter InnoDB within the same SQL query after it has once got the ticket
Path to individual files and their sizes.
The common part for InnoDB table spaces.
Enable/disable InnoDB deadlock detector (default ON). if set to OFF, deadlock detection is skipped, and we rely on innodb_lock_wait_timeout in case of deadlock.
Default encryption key id used for table encryption.
The default ROW FORMAT for all innodb tables created without explicit ROW_FORMAT. Possible values are REDUNDANT, COMPACT, and DYNAMIC. The ROW_FORMAT value COMPRESSED is not allowed
Enable/disable InnoDB defragmentation (default FALSE). When set to FALSE, all existing defragmentation will be paused. And new defragmentation command will fail.Paused defragmentation commands will resume when this variable is set to true again.
A number between [0.7, 1] that tells defragmentation how full it should fill a page. Default is 0.9. Number below 0.7 won't make much sense.This variable, together with innodb_defragment_fill_factor_n_recs, is introduced so defragmentation won't pack the page too full and cause page split on the next insert on every page. The variable indicating more defragmentation gain is the one effective.
How many records of space defragmentation should leave on the page. This variable, together with innodb_defragment_fill_factor, is introduced so defragmentation won't pack the page too full and cause page split on the next insert on every page. The variable indicating more defragmentation gain is the one effective.
Do not defragment a single index more than this number of time per second.This controls the number of time defragmentation thread can request X_LOCK on an index. Defragmentation thread will check whether 1/defragment_frequency (s) has passed since it worked on this index last time, and put the index back to the queue if not enough time has passed. The actual frequency can only be lower than this given number.
Number of pages considered at once when merging multiple pages to defragment
How many defragment stats changes there are before the stats are written to persistent storage. Set to 0 meaning disable defragment stats tracking.
Whether to disable OS system file cache for sort I/O
Tell InnoDB to stop any writes to disk
Enable InnoDB doublewrite buffer (enabled by default). Disable with --skip-innodb-doublewrite.
Enable redo log encryption
Enable encryption for tables. Don't forget to enable --innodb-encrypt-log too
Enrypt the temporary table data.
Key rotation - re-encrypt in background all pages that were encrypted with a key that many (or more) versions behind. Value 0 indicates that key rotation is disabled.
Use this many iops for background key rotation
Number of threads performing background key rotation and scrubbing
Speeds up the shutdown process of the InnoDB storage engine. Possible values are 0, 1 (faster), 2 (crash-like), 3 (fastest clean).
Maximum number of seconds that semaphore times out in InnoDB.
Deprecated parameter with no effect.
Stores each InnoDB table to an .ibd file in the database dir.
Percentage of B-tree page filled during bulk insert
Write and flush logs every (n) second.
Controls the durability/speed trade-off for commits. Set to 0 (write and flush redo log to disk only once per second), 1 (flush to disk at each commit), 2 (write to log at commit but flush to disk only once per second) or 3 (flush to disk at prepare and at commit, slower and usually redundant). 1 and 3 guarantees that after a crash, committed transactions will not be lost and will be consistent with the binlog and other transactional engines. 2 can get inconsistent and lose transactions if there is a power failure or kernel crash but not if mysqld crashes. 0 has no guarantees in case of crash. 0 and 2 can be faster than 1 or 3.
With which method to flush data.
Set to 0 (don't flush neighbors from buffer pool), 1 (flush contiguous neighbors from buffer pool) or 2 (flush neighbors from buffer pool), when flushing a block
Allow IO bursts at the checkpoints ignoring io_capacity setting.
Number of iterations over which the background flushing is averaged.
Force InnoDB to load metadata of corrupted table.
Do not allow to create table without primary key (off by default)
Helps to save your data in case the disk image of the database becomes corrupt.
FTS internal auxiliary table to be checked
InnoDB Fulltext search cache size in bytes
Whether to enable additional FTS diagnostic printout
Create FTS index with stopword.
InnoDB Fulltext search maximum token size in characters
InnoDB Fulltext search minimum token size in characters
InnoDB Fulltext search number of words to optimize for each optimize table call
InnoDB Fulltext search query result cache limit in bytes
The user supplied stopword table name.
InnoDB Fulltext search parallel sort degree, will round up to nearest power of 2 number
Total memory allocated for InnoDB Fulltext Search cache
User supplied stopword table name, effective in the session level.
DEPRECATED. This setting has no effect.
Enable scrubbing of data
File format constraint for ALTER TABLE
Number of IOPs the server can do. Tunes the background IO rate
Limit to which innodb_io_capacity can be inflated.
Deprecated parameter with no effect.
The algorithm Innodb uses for deciding which locks to grant next when a lock is released. Possible values are FCFS grant the locks in First-Come-First-Served order; VATS use the Variance-Aware-Transaction-Scheduling algorithm, which uses an Eldest-Transaction-First heuristic.
Timeout in seconds an InnoDB transaction may wait for a lock before being rolled back. Values above 100000000 disable the timeout.
DEPRECATED. This option may be removed in future releases. Please use READ COMMITTED transaction isolation level instead. Force InnoDB to not use next-key locking, to use only row-level locking.
The size of the buffer which InnoDB uses to write log to the log files on disk.
DEPRECATED. Whether to require checksums for InnoDB redo log blocks.
Enables/disables the logging of entire compressed page images. InnoDB logs the compressed pages to prevent corruption if the zlib compression algorithm changes. When turned OFF, InnoDB will assume that the zlib compression algorithm doesn't change.
Size of each log file in a log group.
Number of log files in the log group. InnoDB writes to the files in a circular fashion.
Path to InnoDB log files.
DEPRECATED. Ignored in MariaDB 10.5. Reduce redo logging when natively creating indexes or rebuilding tables. Enabling this may slow down backup and cause delay due to page flushing.
Redo log write ahead unit size to avoid read-on-write, it should match the OS cache block IO size
How deep to scan LRU to keep it clean
Percentage of dirty pages allowed in bufferpool.
Percentage of dirty pages at which flushing kicks in.
Desired maximum length of the purge queue (0 = no limit)
Maximum delay of user threads in micro-seconds
Wait until History list length is below the specified limit
Desired maximum UNDO tablespace size in bytes
Turn off a monitor counter
Turn on a monitor counter
Reset a monitor counter
Reset all values for a monitor counter
Percentage of the buffer pool to reserve for 'old' blocks.
Move blocks to the 'new' end of the buffer pool if the first access was at least this many milliseconds ago. The timeout is disabled if 0.
Maximum modification log file size for online index creation
How many files at the maximum InnoDB keeps open at the same time.
Only optimize the Fulltext index of the table
Page cleaner threads can be from 1 to 64. Default is 4.
Page size to use for all InnoDB tablespaces.
Enable prefix optimization to sometimes avoid cluster index lookups.
Print all deadlocks to MariaDB error log (off by default)
Number of UNDO log pages to purge in one batch from the history list.
Dictates rate at which UNDO records are purged. Value N means purge rollback segment(s) on every Nth iteration of purge invocation
Purge threads can be from 1 to 32. Default is 4.
Whether to use read ahead for random access within an extent.
Number of pages that must be accessed sequentially for InnoDB to trigger a readahead.
Number of background read I/O threads in InnoDB.
Start InnoDB in read only mode (off by default)
Replication thread delay (ms) on the slave server if innodb_thread_concurrency is reached (0 by default)
Roll back the complete transaction on lock wait timeout, for 4.x compatibility (disabled by default)
Number of undo logs to use (deprecated).
Enable background redo log (ib_logfile0, ib_logfile1...) scrubbing
Background redo log scrubbing speed in bytes/sec
Memory buffer size for index creation
Maximum delay between polling for a spin lock (4 by default)
InnoDB automatic recalculation of persistent statistics enabled for all tables unless overridden at table level (automatic recalculation is only done when InnoDB decides that the table has changed too much and needs a new statistics)
Include delete marked records when calculating persistent statistics
Specifies how InnoDB index statistics collection code should treat NULLs. Possible values are NULLS_EQUAL (default), NULLS_UNEQUAL and NULLS_IGNORED
The number of rows modified before we calculate new statistics (default 0 = current limits)
Enable statistics gathering for metadata commands such as SHOW TABLE STATUS for tables that use transient statistics (off by default)
InnoDB persistent statistics enabled for all tables unless overridden at table level
The number of leaf index pages to sample when calculating persistent statistics (by ANALYZE, default 20)
Deprecated, use innodb_stats_transient_sample_pages instead
Enable traditional statistic calculation based on number of configured pages (default true)
The number of leaf index pages to sample when calculating transient statistics (if persistent statistics are not used, default 8)
Enable InnoDB monitor output to the error log.
Enable InnoDB lock monitor output to the error log. Requires innodb_status_output=ON.
Use strict mode when evaluating create options.
Size of the mutex/lock wait array.
Count of spin-loop rounds in InnoDB mutexes (30 by default)
Enable InnoDB locking in LOCK TABLES
Path to files and their sizes making temp-tablespace.
Helps in performance tuning in heavily concurrent environments. Sets the maximum number of threads allowed inside InnoDB. Value 0 will disable the thread throttling.
Time of innodb thread sleeping before joining InnoDB queue (usec). Value 0 disable a sleep
Directory for temporary non-tablespace files.
Directory where undo tablespace files live, this path can be absolute.
Enable or Disable Truncate of UNDO tablespace.
Number of undo logs to use.
Number of undo tablespaces to use.
Enable atomic writes, instead of using the doublewrite buffer, for files on devices that supports atomic writes. To use this option one must use innodb_file_per_table=1, innodb_flush_method=O_DIRECT. This option only works on Linux with either FusionIO cards using the directFS filesystem or with Shannon cards using any file system.
Use native AIO if supported on this platform.
Number of background write I/O threads in InnoDB.
The value to be used by the following INSERT or ALTER TABLE statement when inserting an AUTO_INCREMENT value
The number of seconds the server waits for activity on an interactive connection before closing it
The size of the buffer that is used for joins
The limit of the space for all join buffers used by a query
Controls what join operations can be executed with join buffers. Odd numbers are used for plain join buffers while even numbers are used for linked buffers
Don't overwrite stale .MYD and .MYI even if no directory is specified
The size of the buffer used for index blocks for MyISAM tables. Increase this to get better index handling (for all reads and multiple writes) to as much as you can afford
This characterizes the number of hits a hot block has to be untouched until it is considered aged enough to be downgraded to a warm block. This specifies the percentage ratio of that number of hits to the total number of blocks in key cache
The default size of key cache blocks
The minimum percentage of warm blocks in key cache
Number of hash buckets for open and changed files. If you have a lot of MyISAM files open you should increase this for faster flush of changes. A good value is probably 1/10 of number of possible open MyISAM files.
The number of segments in a key cache
Whether mysqld was compiled with options for large file support
If large page support is enabled, this shows the size of memory pages
Enable support for large pages
The GTID of the last commit (if binlogging was enabled), or the empty string if none.
The value to be returned from LAST_INSERT_ID()
Set the language used for the error messages
Directory where error messages are
Set the language used for the month names and the days of the week
The type of license the server has
Enable LOAD DATA LOCAL INFILE
Timeout in seconds to wait for a lock before returning an error.
Whether mysqld was locked in memory with --memlock
Whether the binary log is enabled
The full path of the binary log file names, excluding the extension.
Whether the binary log can be compressed
Minimum length of sql statement(in statement mode) or record(in row mode)that can be compressed.
File that holds the names for last binary log files.
If set to FALSE (the default), then when --log-bin is used, creation of a stored function (or trigger) is allowed only to users having the SUPER privilege and only if this stored function (trigger) may not break binary logging. Note that if ALL connections to this server ALWAYS use row-based binary logging, the security issues do not exist and the binary logging cannot break, so you can safely set this to TRUE
Don't log certain types of statements to general log
Log errors to file (instead of stdout). If file name is not specified then 'datadir'/'log-basename'.err or the 'pid-file' path with extension .err is used
How logs should be written
Log queries that are executed without benefit of any index to the slow log if it is open. Same as log_slow_filter='not_using_index'
Tells the slave to log the updates from the slave thread to the binary log. You will need to turn it on if you plan to daisy-chain the slaves.
Log slow OPTIMIZE, ANALYZE, ALTER and other administrative statements to the slow log if it is open. Resets or sets the option 'admin' in log_slow_disabled_statements
Don't log certain types of statements to slow log
Log only certain types of queries to the slow log. If variable empty alll kind of queries are logged. All types are bound by slow_query_time, except 'not_using_index' which is always logged if enabled
Write to slow log every #th slow query. Set to 1 to log everything. Increase it to reduce the size of the slow or the performance impact of slow logging
Log slow statements executed by slave thread to the slow log if it is open. Resets or sets the option 'slave' in log_slow_disabled_statements
Verbosity level for the slow log
Size of transaction coordinator log.
Log some not critical warnings to the general log file.Value can be between 0 and 11. Higher values mean more verbosity
Log all queries that have taken more than long_query_time seconds to execute to the slow query log file. The argument will be treated as a decimal value with microsecond precision
INSERT/DELETE/UPDATE has lower priority than selects
Case sensitivity of file names on the file system where the data directory is located
If set to 1 table names are stored in lowercase on disk and table names will be case-insensitive. Should be set to 2 if you are using a case insensitive file system
Force checksum verification of logged events in the binary log before sending them to slaves or printing them in the output of SHOW BINLOG EVENTS
Max packet length to send to or receive from the server
Sets the total size of the transactional cache
Binary log will be rotated automatically when the size exceeds this value.
Sets the total size of the statement cache
If there is more than this number of interrupted connections from a host this host will be blocked from further connections
The number of simultaneous clients allowed
Don't start more than this number of threads to handle INSERT DELAYED statements. If set to zero INSERT DELAYED will be not used
Maximum length considered for digest text.
Max number of errors/warnings to store for a statement
Don't allow creation of heap tables bigger than this
Don't start more than this number of threads to handle INSERT DELAYED statements. If set to zero INSERT DELAYED will be not used
Joins that are probably going to read more than max_join_size records return an error
Max number of bytes in sorted records
The maximum BLOB length to send to server from mysql_send_long_data API. Deprecated option; use max_allowed_packet instead.
Maximum number of prepared statements in the server
Maximum number of iterations when executing recursive queries
relay log will be rotated automatically when the size exceeds this value. If 0 at startup, it's set to max_binlog_size
Limit assumed max number of seeks when looking up rows based on a key
Amount of memory a single user session is allowed to allocate. This limits the value of the session variable MEM_USED
The number of bytes to use when sorting BLOB or TEXT values (only the first max_sort_length bytes of each value are used; the rest are ignored)
Maximum stored procedure recursion depth
A query that has taken more than max_statement_time seconds will be aborted. The argument will be treated as a decimal value with microsecond precision. A value of 0 (default) means no timeout
Unused, will be removed.
The maximum number of active connections for a single user (0 = no limit)
After this many write locks, allow some read locks to run in between
Don't write queries to slow log that examine fewer rows than that
Size of buffer to use when using MRR with range access
Ignored. Use mrr_buffer_size instead
Block size to be used for MyISAM index pages
Default pointer size to be used for MyISAM tables
Don't use the fast sort index method to created index if the temporary file would get bigger than this
Restricts the total memory used for memory mapping of MySQL tables
Specifies how corrupted tables should be automatically repaired
If larger than 1, when repairing a MyISAM table all indexes will be created in parallel, with one thread per index. The value of 1 disables parallel repair
The buffer that is allocated when sorting the index when doing a REPAIR or when creating indexes with CREATE INDEX or ALTER TABLE
Specifies how MyISAM index statistics collection code should treat NULLs. Possible values of name are NULLS_UNEQUAL (default behavior for 4.1 and later), NULLS_EQUAL (emulate 4.0 behavior), and NULLS_IGNORED
Use memory mapping for reading and writing MyISAM tables
Use MySQL-5.6 (instead of MariaDB-5.3) format for TIME, DATETIME, TIMESTAMP columns.
Buffer length for TCP/IP and socket communication
Number of seconds to wait for more data from a connection before aborting the read
If a read on a communication port is interrupted, retry this many times before giving up
Number of seconds to wait for a block to be written to a connection before aborting the write
Use compatible behavior from previous MariaDB version. See also --old-mode
Alias for alter_algorithm. Deprecated. Use --alter-algorithm instead.
Used to emulate old behavior from earlier MariaDB or MySQL versions
Use old password encryption method (needed for 4.0 and older clients)
If this is not 0, then mysqld will use this value to reserve file descriptors to use with setrlimit(). If this value is 0 or autoset then mysqld will reserve max_connections*5 or max_connections + table_cache*2 (whichever is larger) number of file descriptors
Controls the heuristic(s) applied during query optimization to prune less-promising partial plans from the optimizer search space. Meaning: 0 - do not apply any heuristic, thus perform exhaustive search; 1 - prune plans based on number of retrieved rows
Maximum depth of search performed by the query optimizer. Values larger than the number of relations in a query result in better query plans, but take longer to compile a query. Values smaller than the number of tables in a relation result in faster optimization, but may produce very bad query plans. If set to 0, the system will automatically pick a reasonable value.
Controls number of record samples to check condition selectivity
Fine-tune the optimizer behavior
Controls selectivity of which conditions the optimizer takes into account to calculate cardinality of a partial join when it searches for the best execution plan Meaning: 1 - use selectivity of index backed range conditions to calculate the cardinality of a partial join if the last joined table is accessed by full table scan or an index scan, 2 - use selectivity of index backed range conditions to calculate the cardinality of a partial join in any case, 3 - additionally always use selectivity of range conditions that are not backed by any index to calculate the cardinality of a partial join, 4 - use histograms to calculate selectivity of range conditions that are not backed by any index to calculate the cardinality of a partial join.5 - additionally use selectivity of certain non-range predicates calculated on record samples
Used in debugging builds PAM authentication plugin.
Use mysql_cleartext_plugin on the client side instead of the dialog plugin. This may be needed for compatibility reasons, but it only supports simple PAM policies that don't require anything besides a password
Compare usernames case insensitively to work around pam_winbind unconditional username lowercasing
Enable the performance schema.
Maximum number of instrumented user@host accounts. Use 0 to disable, -1 for automated sizing.
Size of the statement digest. Use 0 to disable, -1 for automated sizing.
Number of rows in EVENTS_STAGES_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
Number of rows per thread in EVENTS_STAGES_HISTORY. Use 0 to disable, -1 for automated sizing.
Number of rows in EVENTS_STATEMENTS_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
Number of rows per thread in EVENTS_STATEMENTS_HISTORY. Use 0 to disable, -1 for automated sizing.
Number of rows in EVENTS_WAITS_HISTORY_LONG. Use 0 to disable, -1 for automated sizing.
Number of rows per thread in EVENTS_WAITS_HISTORY. Use 0 to disable, -1 for automated sizing.
Maximum number of instrumented hosts. Use 0 to disable, -1 for automated sizing.
Maximum number of condition instruments.
Maximum number of instrumented condition objects. Use 0 to disable, -1 for automated sizing.
Maximum length considered for digest text, when stored in performance_schema tables.
Maximum number of file instruments.
Maximum number of opened instrumented files.
Maximum number of instrumented files. Use 0 to disable, -1 for automated sizing.
Maximum number of mutex instruments.
Maximum number of instrumented MUTEX objects. Use 0 to disable, -1 for automated sizing.
Maximum number of rwlock instruments.
Maximum number of instrumented RWLOCK objects. Use 0 to disable, -1 for automated sizing.
Maximum number of socket instruments.
Maximum number of opened instrumented sockets. Use 0 to disable, -1 for automated sizing.
Maximum number of stage instruments.
Maximum number of statement instruments.
Maximum number of opened instrumented tables. Use 0 to disable, -1 for automated sizing.
Maximum number of instrumented tables. Use 0 to disable, -1 for automated sizing.
Maximum number of thread instruments.
Maximum number of instrumented threads. Use 0 to disable, -1 for automated sizing.
Size of session attribute string buffer per thread. Use 0 to disable, -1 for automated sizing.
Maximum number of rows in SETUP_ACTORS.
Maximum number of rows in SETUP_OBJECTS.
Maximum number of instrumented users. Use 0 to disable, -1 for automated sizing.
Pid file used by safe_mysqld
Directory for plugins
The lowest desirable plugin maturity. Plugins less mature than that will not be installed or loaded
Port number to use for connection or 0 to default to, my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default (3306), whatever comes first
The size of the buffer that is allocated when preloading indexes
If set to 1 (0 is default), statement profiling will be enabled. See SHOW PROFILES and SHOW PROFILE.
Number of statements about which profiling information is maintained. If set to 0, no profiles are stored. See SHOW PROFILES.
Seconds between sending progress reports to the client for time-consuming statements. Set to 0 to disable progress reporting.
The version of the client/server protocol used by the MariaDB server
Enable proxy protocol for these source networks. The syntax is a comma separated list of IPv4 and IPv6 networks. If the network doesn't contain mask, it is considered to be a single host. "*" represents all networks and must the only directive on the line. String "localhost" represents non-TCP local connections (Unix domain socket, Windows named pipe or shared memory).
The proxy user account name used when logging in
SET pseudo_slave_mode= 0,1 are commands that mysqlbinlog adds to beginning and end of binary log dumps. While zero value indeed disables, the actual enabling of the slave applier execution mode is done implicitly when a Format_description_event is sent through the session.
This variable is for internal server use
Allocation block size for query parsing and execution
Don't cache results that are bigger than this
The minimum size for blocks allocated by the query cache
The memory allocated to store results from old queries
Strip all comments from a query before storing it in the query cache
OFF = Don't cache or retrieve results. ON = Cache all results except SELECT SQL_NO_CACHE ... queries. DEMAND = Cache only SELECT SQL_CACHE ... queries
Invalidate queries in query cache on LOCK for write
Persistent buffer for query parsing and execution
Used in debugging builds for tracking query response time execution times.
Update of this variable flushes statistics and re-reads query_response_time_range_base
Select base of log for query_response_time ranges. WARNING: variable change affect only after flush
Enable or disable query response time statisics collecting
Sets the internal state of the RAND() generator for replication purposes
Sets the internal state of the RAND() generator for replication purposes
Allocation block size for storing ranges during optimization
Maximum speed(KB/s) to read binlog from master (0 = no limit)
Each thread that does a sequential scan allocates a buffer of this size for each table it scans. If you do many sequential scans, you may want to increase this value
Make all non-temporary tables read-only, with the exception for replication (slave) threads and users with the SUPER privilege
When reading rows in sorted order after a sort, the rows are read through this buffer to avoid a disk seeks
The location and name to use for relay logs.
The full path of the relay log file names, excluding the extension.
The location and name to use for the file that keeps a list of the last relay logs.
The location and name of the file that remembers where the SQL replication thread is in the relay logs.
if disabled - do not purge relay logs. if enabled - purge them as soon as they are no more needed.
Enables automatic relay log recovery right after the database startup, which means that the IO Thread starts re-fetching from the master right after the last transaction processed.
Maximum space to use for all relay logs
Tells the slave to write annotate rows events received from the master to its own binary log. Ignored if log_slave_updates is not set
Tell the slave to restrict replication to updates of tables whose names appear in the comma-separated list. For statement-based replication, only the default database (that is, the one selected by USE) is considered, not any explicitly mentioned tables in the query. For row-based replication, the actual names of table(s) being updated are checked.
Tells the slave to restrict replication to tables in the comma-separated list.
Whether the slave should replicate events that were created with @@skip_replication=1 on the master. Default REPLICATE (no events are skipped). Other values are FILTER_ON_SLAVE (events will be sent by the master but ignored by the slave) and FILTER_ON_MASTER (events marked with @@skip_replication=1 will be filtered on the master and never be sent to the slave).
Tell the slave to restrict replication to updates of tables whose names do not appear in the comma-separated list. For statement-based replication, only the default database (that is, the one selected by USE) is considered, not any explicitly mentioned tables in the query. For row-based replication, the actual names of table(s) being updated are checked.
Tells the slave thread not to replicate any statement that updates the specified table, even if any other tables might be updated by the same statement.
Tells the slave thread to restrict replication to statements where any of the updated tables match the specified database and table name patterns.
Tells the slave thread to not replicate to the tables that match the given wildcard pattern.
Hostname or IP of the slave to be reported to the master during slave registration. Will appear in the output of SHOW SLAVE HOSTS. Leave unset if you do not want the slave to register itself with the master. Note that it is not sufficient for the master to simply read the IP of the slave off the socket once the slave connects. Due to NAT and other routing issues, that IP may not be valid for connecting to the slave from the master or other hosts
The account password of the slave to be reported to the master during slave registration
Port for connecting to slave reported to the master during slave registration. Set it only if the slave is listening on a non-default port or if you have a special tunnel from the master or other clients to the slave. If not sure, leave this option unset
The account user name of the slave to be reported to the master during slave registration
DBOptions::access_hint_on_compaction_start for RocksDB
DBOptions::advise_random_on_open for RocksDB
DBOptions::allow_concurrent_memtable_write for RocksDB
DBOptions::allow_mmap_reads for RocksDB
DBOptions::allow_mmap_writes for RocksDB
Allow server still to start successfully even if RocksDB corruption is detected.
Deleting rows by primary key lookup, without reading rows (Blind Deletes). Blind delete is disabled if the table has secondary key
block_cache size for RocksDB
BlockBasedTableOptions::block_restart_interval for RocksDB
BlockBasedTableOptions::block_size for RocksDB
BlockBasedTableOptions::block_size_deviation for RocksDB
Use bulk-load mode for inserts. This disables unique_checks and enables rocksdb_commit_in_the_middle.
Allow bulk loading of sk keys during bulk-load. Can be changed only when bulk load is disabled.
Allow unsorted input during bulk-load. Can be changed only when bulk load is disabled.
Max #records in a batch for bulk-load mode
DBOptions::bytes_per_sync for RocksDB
Include RocksDB block cache content in core dump.
Specify the size of block cache high-pri pool
BlockBasedTableOptions::cache_index_and_filter_blocks for RocksDB
cache_index_and_filter_blocks_with_high_priority for RocksDB
How many percentages of rows to be checksummed
Enables collecting SST file properties on each flush
Commit rows implicitly every rocksdb_bulk_load_size, on bulk load/insert, update and delete
TransactionOptions::commit_time_batch_for_recovery for RocksDB
Compact column family
DBOptions::compaction_readahead_size for RocksDB
RocksDB will trigger compaction for the file if it has more than this number sequential deletes per window
Counting SingleDelete as rocksdb_compaction_sequential_deletes
Minimum file size required for compaction_sequential_deletes
Size of the window for counting rocksdb_compaction_sequential_deletes
DBOptions::create_if_missing for RocksDB
DBOptions::create_missing_column_families for RocksDB
RocksDB data directory
DBOptions::db_write_buffer_size for RocksDB
Enables deadlock detection
Number of transactions deadlock detection will traverse through before assuming deadlock
For debugging purposes only. Sleeping specified seconds for simulating long running compactions.
In case if cardinality is zero, overrides it with some value
For debugging purposes only. If true, compaction filtering will not occur on PK TTL data. This variable is a no-op in non-debug builds.
For debugging purposes only. Overrides the TTL read filtering time to time + debug_ttl_read_filter_ts. A value of 0 denotes that the variable is not set. This variable is a no-op in non-debug builds.
For debugging purposes only. Overrides the TTL of records to now() + debug_ttl_rec_ts. The value can be +/- to simulate a record inserted in the past vs a record inserted in the 'future'. A value of 0 denotes that the variable is not set. This variable is a no-op in non-debug builds.
For debugging purposes only. Sets the snapshot during compaction to now() + debug_set_ttl_snapshot_ts. The value can be +/- to simulate a snapshot in the past vs a snapshot created in the 'future'. A value of 0 denotes that the variable is not set. This variable is a no-op in non-debug builds.
default cf options for RocksDB
Delete column family
DBOptions::delete_obsolete_files_period_micros for RocksDB
Enable two phase commit for MyRocks
Enables using SstFileWriter for bulk loading
Whether to enable optimization where we cache the read from a failed insertion attempt in INSERT ON DUPLICATE KEY UPDATE
DBOptions::enable_thread_tracking for RocksDB
Enable expired TTL records to be dropped during compaction.
For tables with TTL, expired records are skipped/filtered out during processing and in query results. Disabling this will allow these records to be seen, but as a result rows may disappear in the middle of transactions as they are dropped during compaction. Use with caution.
DBOptions::enable_write_thread_adaptive_yield for RocksDB
DBOptions::error_if_exists for RocksDB
Raise an error instead of warning if a sub-optimal collation is used
Sync on transaction commit. Similar to innodb_flush_log_at_trx_commit. 1: sync on commit, 0,2: not sync on commit
Force to always compute memtable stats
Time in usecs to cache memtable estimates
Acts similar to force_flush_memtable_now, but also compacts all L0 files.
Forces memstore flush which may block all write requests so be careful
Used to override the result of records_in_range() when FORCE INDEX is used.
Git revision of the RocksDB library used by MyRocks
BlockBasedTableOptions::hash_index_allow_collision for RocksDB
Enable ignoring unknown options passed to RocksDB
BlockBasedTableOptions::index_type for RocksDB
Filter level for info logs to be written mysqld error log. Valid values include 'debug_level', 'info_level', 'warn_level''error_level' and 'fatal_level'.
Timeout for experimental I/O watchdog.
DBOptions::is_fd_close_on_exec for RocksDB
DBOptions::keep_log_file_num for RocksDB
Support large index prefix length of 3072 bytes. If off, the maximum index prefix length is 767.
Take and hold locks on rows that are scanned but not updated
Number of seconds to wait for lock
DBOptions::log_file_time_to_roll for RocksDB
DBOptions::manifest_preallocation_size for RocksDB
How many rocksdb threads to run for manual compactions
DBOptions::manual_wal_flush for RocksDB
Skipping holding any lock on row access. Not effective on slave.
DBOptions::max_background_jobs for RocksDB
Maximum number of recent deadlocks to store
DBOptions::max_log_file_size for RocksDB
DBOptions::max_manifest_file_size for RocksDB
Maximum number of pending + ongoing number of manual compactions.
DBOptions::max_open_files for RocksDB
Maximum number of locks a transaction can have
DBOptions::max_subcompactions for RocksDB
DBOptions::max_total_wal_size for RocksDB
Size to allocate for merge sort buffers written out to disk during inplace index creation.
Size that we have to work with during combine (reading from disk) phase of external sort during fast index creation.
Fast index creation creates a large tmp file on disk during index creation. Removing this large file all at once when index creation is complete can cause trim stalls on Flash. This variable specifies a duration to sleep (in milliseconds) between calling chsize() to truncate the file in chunks. The chunk size is the same as merge_buf_size.
DBOptions::new_table_reader_for_compaction_inputs for RocksDB
BlockBasedTableOptions::no_block_cache for RocksDB
option overrides per cf for RocksDB
DBOptions::paranoid_checks for RocksDB
Disable all rocksdb background operations
Perf Context Level for rocksdb internal timer stat collection
Path for BlockBasedTableOptions::persistent_cache for RocksDB
Size of cache in MB for BlockBasedTableOptions::persistent_cache for RocksDB
pin_l0_filter_and_index_blocks_in_cache for RocksDB
Logging queries that got snapshot conflict errors into *.err log
DBOptions::rate_limiter bytes_per_sec for RocksDB
Used to override the result of records_in_range(). Set to a positive number to override
Remove mariabackup checkpoint
Reset the RocksDB internal statistics without restarting the DB.
Whether to roll back the complete transaction or a single statement on lock wait timeout (a single statement by default)
Sets a number of seconds to wait between optimizer stats recomputation. Only changed indexes will be refreshed.
Wake up drop index thread
Simulated cache size for RocksDB
Skip using bloom filter for reads
Skip filling block cache on read requests
Skip unique constraint checking for the specified tables
DBOptions::sst_file_manager rate_bytes_per_sec for RocksDB
DBOptions::stats_dump_period_sec for RocksDB
Statistics Level for RocksDB. Default is 0 (kExceptHistogramOrTimers)
The number of indexes per second to recalculate statistics for. 0 to disable background recalculation.
Include checksums when writing index/table records
Enforce case sensitive collation for MyRocks indexes
List of tables (using regex) that are excluded from the case sensitive collation enforcement
Compression algorithms supported by RocksDB
DBOptions::table_cache_numshardbits for RocksDB
Percentage of entries to sample when collecting statistics about table properties. Specify either 0 to sample everything or percentage [1..100]. By default 10% of entries are sampled.
Directory for temporary files during DDL operations.
Generate trace output in the log for each call to the SstFileWriter
DBOptions::two_write_queues for RocksDB
Allowing statement based binary logging which may break consistency
Option updates per column family for RocksDB
DBOptions::use_adaptive_mutex for RocksDB
Use ClockCache instead of default LRUCache for RocksDB
DBOptions::use_direct_io_for_flush_and_compaction for RocksDB
DBOptions::use_direct_reads for RocksDB
DBOptions::use_fsync for RocksDB
Verify all .frm files match all RocksDB tables (0 means no verification, 1 means verify and fail on error, and 2 means verify but continue
Verify checksums when reading index/table records
DBOptions::wal_bytes_per_sync for RocksDB
DBOptions::wal_dir for RocksDB
DBOptions::wal_recovery_mode for RocksDB. Default is kAbsoluteConsistency
DBOptions::WAL_size_limit_MB for RocksDB
DBOptions::WAL_ttl_seconds for RocksDB
BlockBasedTableOptions::whole_key_filtering for RocksDB
Maximum size of write batch in bytes. 0 means no limit.
WriteOptions::disableWAL for RocksDB
WriteOptions::ignore_missing_column_families for RocksDB
DBOptions::write_policy for RocksDB
The size of the buffers used [NOT] IN evaluation via partial matching
Enable semi-synchronous replication master (disabled by default).
The timeout value (in ms) for semi-synchronous replication in the master
The tracing level for semi-sync replication.
Wait until timeout when no semi-synchronous replication slave available (enabled by default).
Should transaction wait for semi-sync ack after having synced binlog, or after having committed in storage engine.
Only write master info file when ack is needed.
Enable semi-synchronous replication slave (disabled by default).
Timeout for the mysql connection used to kill the slave io_thread's connection on master. This timeout comes into play when stop slave is executed.
The tracing level for semi-sync replication.
Disallow authentication for accounts that have old (pre-4.1) passwords
Limit LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() to files within specified directory
Restricts direct setting of a session timestamp. Possible levels are: YES - timestamp cannot deviate from the system clock, REPLICATION - replication thread can adjust timestamp to match the master's, SUPER - a user with this privilege and a replication thread can adjust timestamp, NO - historical behavior, anyone can modify session timestamp
Specifies the set of events to monitor. Can be CONNECT, QUERY, TABLE, QUERY_DDL, QUERY_DML, QUERY_DML_NO_SELECT, QUERY_DCL.
Comma separated list of users to exclude from auditing.
Path to the log file.
Force log rotation now.
Maximum size of the log to start the rotation.
Number of rotations before log is removed.
Comma separated list of users to monitor.
Turn on/off the logging.
Desired output type. Possible values - 'syslog', 'file' or 'null' as no output.
Limit on the length of the query string in a record.
The 'facility' parameter of the SYSLOG record. The default is LOG_USER.
The SYSLOG identifier - the beginning of each SYSLOG record.
The <info> string to be added to the SYSLOG record.
The 'priority' parameter of the SYSLOG record. The default is LOG_INFO.
Uniquely identifies the server instance in the community of replication partners
Track changes to the default schema.
Track changes to the session state.
Track changes in registered system variables.
Track changes to the transaction attributes. OFF to disable; STATE to track just transaction state (Is there an active transaction? Does it have any data? etc.); CHARACTERISTICS to track transaction state and report all statements needed to start a transaction with the same characteristics (isolation level, read only/read write,snapshot - but not any work done / data modified within the transaction).
Enables use of shared memory for Servers running on Microsoft Windows.
Base name for shared memory usage by Server running on Microsoft Windows.
Minimal required number of digits
Minimal required number of letters of the same letter case.This limit is applied separately to upper-case and lower-case letters
Minimal required password length
Minimal required number of other (not letters or digits) characters
Don't use system (external) locking
Don't resolve hostnames. All hostnames are IP's or 'localhost'.
Don't allow connection with TCP/IP
If set when a transaction is written to the binlog, parallel apply of that transaction will be avoided on a slave where slave_parallel_mode is not "aggressive". Can be used to avoid unnecessary rollback and retry for transactions that are likely to cause a conflict if replicated in parallel.
Changes are logged into the binary log with the @@skip_replication flag set. Such events will not be replicated by slaves that run with --replicate-events-marked-for-skip set different from its default of REPLICATE. See Selectively skipping replication of binlog events for more information.
Don't allow 'SHOW DATABASE' commands
Use compression on master/slave protocol
How replication events should be executed. Legal values are STRICT and IDEMPOTENT (default). In IDEMPOTENT mode, replication will not stop for DDL operations that are idempotent. This means that CREATE TABLE is treated as CREATE TABLE OR REPLACE and DROP TABLE is treated as DROP TABLE IF EXISTS.
Maximum number of parallel threads to use on slave for events in a single replication domain. When using multiple domains, this can be used to limit a single domain from grabbing all threads and thus stalling other domains. The default of 0 means to allow a domain to grab as many threads as it wants, up to the value of slave_parallel_threads.
How replication events should be executed. Legal values are STRICT (default) and IDEMPOTENT. In IDEMPOTENT mode, replication will not stop for operations that are idempotent. For example, in row based replication attempts to delete rows that doesn't exist will be ignored. In STRICT mode, replication will stop on any unexpected difference between the master and the slave.
The location where the slave should put its temporary files when replicating a LOAD DATA INFILE command
The maximum packet length to sent successfully from the master to slave.
Number of seconds to wait for more data from any master/slave connection before aborting the read
Limit on how much memory SQL threads should use per parallel replication thread when reading ahead in the relay log looking for opportunities for parallel replication. Only used when --slave-parallel-threads > 0.
Controls what transactions are applied in parallel when using --slave-parallel-threads. Possible values: "optimistic" tries to apply most transactional DML in parallel, and handles any conflicts with rollback and retry. "conservative" limits parallelism in an effort to avoid any conflicts. "aggressive" tries to maximise the parallelism, possibly at the cost of increased conflict rate. "minimal" only parallelizes the commit steps of transactions. "none" disables parallel apply completely.
If non-zero, number of threads to spawn to apply in parallel events on the slave that were group-committed on the master or were logged with GTID in different replication domains. Note that these threads are in addition to the IO and SQL threads, which are always created by a replication slave
Alias for slave_parallel_threads
Modes for how triggers in row-base replication on slave side will be executed. Legal values are NO (default), YES and LOGGING. NO means that trigger for RBR will not be running on slave. YES and LOGGING means that triggers will be running on slave, if there was not triggers running on the master for the statement. LOGGING also means results of that the executed triggers work will be written to the binlog.
Tells the slave thread to continue replication when a query event returns an error from the provided list
Force checksum verification of replication events after reading them from relay log. Note: Events are always checksum-verified by slave on receiving them from the network before writing them to the relay log
Number of times the slave SQL thread will retry a transaction in case it failed with a deadlock, elapsed lock wait timeout or listed in slave_transaction_retry_errors, before giving up and stopping
Tells the slave thread to retry transaction for replication when a query event returns an error from the provided list. Deadlock and elapsed lock wait timeout errors are automatically added to this list
Interval of the slave SQL thread will retry a transaction in case it failed with a deadlock or elapsed lock wait timeout or listed in slave_transaction_retry_errors
Set of slave type conversions that are enabled. If the variable is empty, no conversions are allowed and it is expected that the types match exactly
If creating the thread takes longer than this value (in seconds), the Slow_launch_threads counter will be incremented
Log slow queries to a table or log file. Defaults logging to a file 'hostname'-slow.log or a table mysql.slow_log if --log-output=TABLE is used. Must be enabled to activate other slow log options.
Log slow queries to given log file. Defaults logging to 'hostname'-slow.log. Must be enabled to activate other slow log options
Socket file to use for connection
Each thread that needs to do a sort allocates a buffer of this size
Mode of auto increment.
Number of first read records when background search is used
Mode of background search
Number of second read records when background search is used
Temporary table's engine for BKA
Mode of BKA for Spider
The type of temporary table name for bka
Index block size
Bulk insert size
The mode of bulk updating and deleting
Bulk update size
Read casually if it is possible
Connection recycle mode
Strict connection recycle
the values, as the max waiting time when spider get a remote conn
Return same error code until interval passes if connection is failed
Use mutex at connecting
Connect retry count
Connect retry interval
Wait timeout of connecting to remote server
Mode of cardinality confirmation at background.
Interval of cardinality confirmation.(second)
Mode of cardinality confirmation.
Cardinality synchronization in partitioned table.
Type of cardinality calculation.
Weight coefficient to calculate effectiveness of index from cardinality of column.
The type of delete_all_rows
Execute "REPLACE" and "INSERT IGNORE" on remote server and avoid duplicate check on local server
Send 'ORDER BY' and 'LIMIT' to remote server directly
Read error mode if error
Write error mode if error
Number of first read records
Force prepare, commit, rollback mode
Log query to remote server in general log
switch to control if push down index hint, like force_index
Initial sql string alloc size
Execute optimize to remote server
Execute optimize to remote server with local
Manage SQL_LOG_OFF mode statement to the data nodes
Unlock tables for using connections in sql
Use inner xa transaction
The type of internal_xa id
Action of inner xa and snapshot both using
Load crd from system table at startup
Load sts from system table at startup
Remote server transmission when lock tables is executed at local
Exchange select lock to lock tables
Log sql at logging result errors
Log error from remote server in error log
Use low memory mode when SQL(SELECT) internally issued to a remote server is executed and get a result list
the values, as the max conncetion from spider to remote mysql. Default 0, mean unlimit the connections
Max columns for order by
Sprit read mode for multi range
Wait timeout of receiving data from remote server
Wait timeout of sending data to remote server
Ping interval at transaction start
The retrieval result from a remote server is acquired by acquisition one by one
The limitation of memory size in a page when acquisition one by one
Number of records in a page when acquisition one by one
Set remote access charset at connecting for improvement performance of connection if you know
Set autocommit mode at connecting for improvement performance of connection if you know
Set remote database at connecting for improvement performance of connection if you know
Set SQL_LOG_OFF mode on connecting for improved performance of connection, if you know
Set remote time_zone at connecting for improvement performance of connection if you know
Set transaction isolation level at connecting for improvement performance of connection if you know
Reset sql string alloc after execute
Permit one to link same server's table
Number of second read records
The mode of using columns at select clause
Lock for select with update
Use offset and limit parameter in SQL for split_read parameter.
The limit value for semi_split_read
Table lock during execute a sql
Use different connection if semi_table_lock is enabled
Take a transaction during execute a sql
Transaction isolation level during execute a sql
Skip generating internal default condition
Skip parallel search by specific conditions
Transaction isolation level when Spider table is used by slave SQL thread
Number of rows at a select
Store last crd result into system table
Store last sts result into system table
Mode of table state confirmation at background.
Interval of table state confirmation.(second)
Mode of table state confirmation.
Table state synchronization in partitioned table.
Sync transaction isolation level
Static thread count of table crd
Return same error code until interval passes if table init is failed
Static thread count of table sts
The interval time between bulk insert and next bulk insert at coping
The number of rows inserted with bulk insert of one time at coping
Number of rows for bulk inserting
Table loop mode if the number of tables in table list are less than the number of result sets
Use real table for temporary table list
Mutex count of table lock for Spider UDFs
Mutex count of table mon for Spider UDFs
When start trx with snapshot, it send to all connections
Use all conditions even if condition has pk
Use start transaction with consistent snapshot
Use default database
Execute flush logs to remote server
Use handler for reading
Remote server transmission existence when UDF is used at condition and "engine_condition_pushdown=1"
Execute optimize to remote server with local
Use table charset for remote access
The version of Spider
Mode of XA transaction register into system table
If set to 1, the query SELECT * FROM table_name WHERE auto_increment_column IS NULL will return an auto-increment that has just been successfully inserted, the same as the LAST_INSERT_ID() function. Some ODBC programs make use of this IS NULL comparison.
If set to 0, MariaDB will not perform large SELECTs. See max_join_size for details. If max_join_size is set to anything but DEFAULT, sql_big_selects is automatically set to 0. If sql_big_selects is again set, max_join_size will be ignored.
If set to 1 (0 is default), results from SELECT statements are always placed into temporary tables. This can help the server when it takes a long time to send the results to the client by allowing the table locks to be freed early.
If set to 0 (1 is the default), no logging to the binary log is done for the client. Only clients with the SUPER privilege can update this variable. Can have unintended consequences if set globally, see SET SQL_LOG_BIN. Starting MariaDB 10.1.7, this variable does not affect the replication of events in a Galera cluster.
If set to 1 (0 is the default), no logging to the general query log is done for the client. Only clients with the SUPER privilege can update this variable.
Sets the sql mode
If set to 1, the default, warning_count is incremented each time a Note warning is encountered. If set to 0, Note warnings are not recorded. mysqldump has outputs to set this variable to 0 so that no unnecessary increments occur when data is reloaded.
If set to 1, the default, the server will quote identifiers for SHOW CREATE DATABASE, SHOW CREATE TABLE and SHOW CREATE VIEW statements. Quoting is disabled if set to 0. Enable to ensure replications works when identifiers require quoting.
If set to 1, UPDATEs and DELETEs need either a key in the WHERE clause, or a LIMIT clause, or else they will aborted. Prevents the common mistake of accidentally deleting or updating every row in a table.
The maximum number of rows to return from SELECT statements
Skip the next N events from the master log
If set to 1, single-row INSERTs will produce a string containing warning information if a warning occurs.
CA file in PEM format (check OpenSSL docs, implies --ssl)
CA directory (check OpenSSL docs, implies --ssl)
X509 cert in PEM format (implies --ssl)
SSL cipher to use (implies --ssl)
CRL file in PEM format (check OpenSSL docs, implies --ssl)
CRL directory (check OpenSSL docs, implies --ssl)
X509 key in PEM format (implies --ssl)
Allow only CTEs compliant to SQL standard
Alias for @@default_storage_engine. Deprecated
The soft upper limit for number of cached stored routines for one connection.
When password validation plugins are enabled, reject passwords that cannot be validated (passwords specified as a hash)
Synchronously flush binary log to disk after every #th event. Use 0 (default) to disable synchronous flushing
Sync .frm files to disk on creation
Synchronously flush master info to disk after every #th event. Use 0 to disable synchronous flushing
Synchronously flush relay log to disk after every #th event. Use 0 to disable synchronous flushing
Synchronously flush relay log info to disk after every #th transaction. Use 0 to disable synchronous flushing
The server system time zone
Versioning ALTER TABLE mode. ERROR: Fail ALTER with error; KEEP: Keep historical system rows and subject them to ALTER
Default value for the FOR SYSTEM_TIME AS OF clause
The number of cached table definitions
The number of cached open tables
Maximum number of table cache instances
The interval, in seconds, between when successive keep-alive packets are sent if no acknowledgement is received.If set to 0, system dependent default is used.
The number of unacknowledged probes to send before considering the connection dead and notifying the application layer.If set to 0, system dependent default is used.
Timeout, in seconds, with no activity until the first TCP keep-alive packet is sent.If set to 0, system dependent default is used.
How many threads we should keep in a cache for reuse. These are freed after 5 minutes of idle time
Permits the application to give the threads system a hint for the desired number of threads that should be run at the same time.This variable has no effect, and is deprecated. It will be removed in a future release.
Define threads usage for handling queries
Timeout in seconds for an idle thread in the thread pool.Worker thread will be shut down after timeout
Maximum allowed number of worker threads in the thread pool
Minimum number of threads in the thread pool used on Microsoft Windows.
How many additional active worker threads in a group are allowed.
The number of milliseconds before a dequeued low-priority statement is moved to the high-priority queue
Threadpool priority. High priority connections usually start executing earlier than low priority.If priority set to 'auto', the the actual priority(low or high) is determined based on whether or not connection is inside transaction.
Number of thread groups in the pool. This parameter is roughly equivalent to maximum number of concurrently executing threads (threads in a waiting state do not count as executing).
Maximum query execution time in milliseconds,before an executing non-yielding thread is considered stalled.If a worker thread is stalled, additional worker thread may be created to handle remaining clients.
The stack size for each thread
The TIME format (ignored)
The current time zone, used to initialize the time zone for a client when it connects. Set to SYSTEM by default, in which the client uses the system time zone value.
Specify whether to time mutexes. Deprecated, has no effect.
Set the time for this client
Max size for data for an internal temporary on-disk MyISAM or Aria table.
If an internal in-memory temporary table exceeds this size, MariaDB will automatically convert it to an on-disk MyISAM or Aria table. Same as tmp_table_size.
Alias for tmp_memory_table_size. If an internal in-memory temporary table exceeds this size, MariaDB will automatically convert it to an on-disk MyISAM or Aria table.
Path for temporary files. Several paths may be specified, separated by a colon (:), in this case they are used in a round-robin fashion
Allocation block size for transactions to be stored in binary log
Persistent buffer for transactions to be stored in binary log
Default transaction isolation level
Default transaction access mode. If set to OFF, the default, access is read/write. If set to ON, access is read-only. The SET TRANSACTION statement can also change the value of this variable. See SET TRANSACTION and START TRANSACTION.
If set to 1, the default, secondary indexes in InnoDB tables are performed. If set to 0, storage engines can (but are not required to) assume that duplicate keys are not present in input data. Set to 0 to speed up imports of large tables to InnoDB. The storage engine will still issue a duplicate key error if it detects one, even if set to 0.
YES = Don't issue an error message (warning only) if a VIEW without presence of a key of the underlying table is used in queries with a LIMIT clause for updating. NO = Prohibit update of a VIEW, which does not contain a key of the underlying table and the query uses a LIMIT clause (usually get from GUI tools)
Specifies how to use system statistics tables
Enables statistics gathering for USER_STATISTICS, CLIENT_STATISTICS, INDEX_STATISTICS and TABLE_STATISTICS tables in the INFORMATION_SCHEMA
Server version number. It may also include a suffix with configuration or build information. -debug indicates debugging support was enabled on the server, and -log indicates at least one of the binary log, general log or slow query log are enabled, for example 10.1.1-MariaDB-mariadb1precise-log.
Value of the COMPILATION_COMMENT option specified by CMake when building MariaDB, for example mariadb.org binary distribution.
The machine type or architecture MariaDB was built on, for example i686.
Operating system that MariaDB was built on, for example debian-linux-gnu.
Version of the used malloc library
Source control revision id for MariaDB source code
Version of the used SSL library
The number of seconds the server waits for activity on a connection before closing it
The number of errors, warnings, and notes that resulted from the last statement that generated messages
To automatically control the assignment of autoincrement variables
Setting this variable is equivalent to setting wsrep_sync_wait READ flag
Certification rules to use in the cluster. Possible values are: "strict": stricter rules that could result in more certification failures. "optimized": relaxed rules that allow more concurrency and cause less certification failures.
Certify tables with no primary key
Address to initially connect to cluster
Name for the cluster
To convert locking sessions into transactions
home directory for wsrep provider
DBUG options to provider library
To enable debug level logging
To desynchronize the node from the cluster
Permit read operations when the node is in a non-operational component.
Enable a workaround to handle the cases where inserting a DEFAULT value into an auto-increment column could fail with duplicate key error
binlog format to take effect over user's choice
When wsrep_gtid_mode is set, this value is used as gtid_domain_id for galera transactions and also copied to the joiner nodes during state transfer. It is ignored, otherwise.
Automatically update the (joiner) node's wsrep_gtid_domain_id value with that of donor's (received during state transfer) and use it in place of gtid_domain_id for all galera transactions. When OFF (default), wsrep_gtid_domain_id is simply ignored (backward compatibility).
To commit LOAD DATA transaction after every 10K rows inserted
To log multi-master conflicts
Max number of rows in write set
Max write set size (bytes)
mysql replication group commit
Specifies the node's network address, in the format ip address[:port]. Used in situations where autoguessing is not reliable. As of MariaDB 10.1.8, supports IPv6.
Client connection address
Name of this node. This name can be used in wsrep_sst_donor as a preferred donor. Note that multiple nodes in a cluster can have the same name.
Command to execute upon changes in node state or cluster membership.
To enable wsrep replication
Method for Online Schema Upgrade
Wsrep patch version, for example wsrep_25.10.
Path to replication provider library
Semicolon (;) separated list of wsrep options (see wsrep_provider_options documentation).
Recover database state after crash and exit
Reject queries from client connections.
To enable myisam replication
Should MariaDB slave be restarted automatically, when node joins back to cluster
Number of autocommit retries the node attempts.
Should slave thread do foreign key constraint checks
Number of threads used in applying write-sets from the cluster.
Should slave thread do secondary index uniqueness checks
Authentication for SST connection
preferred donor node for the SST
Rejects blocking client sessions while node acts as a donor to a blocking SST operation.
State snapshot transfer method
Address where node is waiting for SST contact
global transaction position to start from
Bitmask to configure synchronization waits for causality checks on the cluster.
The following System Variables are not present in MariaDB Community Server 10.3.28 but are present in one or more older 10.3 CS versions. Click on an item to see its details, including when it was removed.
The number of seconds the server waits for read-write idle transaction
Whether to perform system file format check.
The highest file format in the tablespace.
Number of multi-threaded flush threads
Use NUMA interleave memory policy to allocate InnoDB buffer pool.
Use multi-threaded flush. Default FALSE.
turns on background syncs for RocksDB
DBOptions::base_background_compactions for RocksDB
DBOptions::concurrent_prepare for RocksDB
Forces memtable flush on ANALZYE table to get accurate cardinality
DBOptions::max_background_compactions for RocksDB
DBOptions::max_background_flushes for RocksDB
List of tables that will use read-free replication on the slave (i.e., not lookup a row during replication)
DBOptions::use_direct_writes for RocksDB
Use simple algorithm of timestamp handling in InnoDB instead of TRX_SEES