System Variables for MariaDB Enterprise Server 10.4
MariaDB Enterprise Server 10.4 can be configured using system variables.
Reference material is available for MariaDB Enterprise Server 10.4.
There are many different ways to use system variables.
Set in a Configuration File
If the specific system variable is not read-only, you can set it in a MariaDB configuration file (such as
Set on the Command-Line
If the specific system variable has a corresponding mariadbd command-line option, you can set it when the server is started:
$ mariadbd --log_error=/var/log/mariadb/mariadb.err [OPTION ...]
Set the Global Value Dynamically
If the specific system variable is dynamic, you can set its global value with the SET GLOBAL statement:
SET GLOBAL log_warnings=3;
Show All Global Values
All global system variables can be queried with the SHOW GLOBAL VARIABLES statement:
SHOW GLOBAL VARIABLES;
Set the Session Value Dynamically
If the specific system variable supports session-specific values, you can set its session value with the SET SESSION statement:
SET SESSION log_warnings=3;
Show All Session Values
All system variables for the current session can be queried with the SHOW SESSION VARIABLES statement:
SHOW SESSION VARIABLES;
Show Values with a Filter
It is also possible to filter the output of SHOW VARIABLES, so that it does not return all values.
The SHOW VARIABLES statements can be filtered with a
SHOW GLOBAL VARIABLES LIKE 'log_%';
The SHOW VARIABLES statements can also be filtered with a
SHOW GLOBAL VARIABLES WHERE Variable_name IN( 'log_error', 'log_warnings' );
Reference Values in a Query
A specific global or session system variable can be referenced in a query by prefixing the variable name with
SELECT @@session.log_warnings, @@global.log_error;
MariaDB Enterprise Server 10.4 supports many system variables.
System Variables for MariaDB Enterprise Server 10.4
Configures the server to use specific algorithms for ALTER TABLE operations
Percentage of rows from the table ANALYZE TABLE will sample to collect table statistics. Set to 0 to let MariaDB decide what percentage of rows to sample.
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_
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_
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_
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_
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_
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_
If non-zero, binlog write will wait at most binlog_
Maximum time, in microseconds, to wait for more commits to queue up for binlog group commit. Only takes effect if the value of binlog_
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_
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_
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_
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_
Master connection to use for all slave variables and slave commands
This defines the global password expiration policy. 0 means automatic password expiration is disabled. If the value is a positive integer N, the passwords must be changed every N days. This behavior can be overridden using the password expiration options in ALTER USER.
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_
After inserting delayed_
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
This variable controls how the server handles clients that are not aware of the sandbox mode. If enabled, the server disconnects the client, otherwise the server puts the client in a sandbox mode.
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_
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_
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_
Log connections and queries to given file
The maximum length of the result of function GROUP_
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
Normally does not need tuning. How many old rows must accumulate in the mysql.gtid_
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_
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_
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_
Cache timeout for key data (in milliseconds)
Cache timeout for key version (in milliseconds)
Enable key caching (storing key values received from the Hashicorp Vault server in the local memory)
Enable kv storage version check during plugin initialization
Number of server request retries in case of timeout
Duration (in seconds) for the Hashicorp Vault server connection timeout
In case of timeout (when accessing the vault server) use the value taken from the cache
Path to the Certificate Authority (CA) bundle (is a file that contains root and intermediate certificates)
HTTP[s] URL that is used to connect to the Hashicorp Vault server
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
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_
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_
How many host names should be cached to avoid resolving
Server host name
Synonym for the last_
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_
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_
Enable scrubbing of compressed data by background threads (same as encryption_
scrub spaces that were last scrubbed longer than innodb_
Enable scrubbing of uncompressed data by background threads (same as encryption_
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_
Trigger an immediate dump of the buffer pool into a file named @@innodb_
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_
Trigger an immediate load of the buffer pool from a file named @@innodb_
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 FULL_
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_
Default encryption key id used for table encryption
The default ROW FORMAT for all innodb tables created without explicit ROW_
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_
How many records of space defragmentation should leave on the page. This variable, together with innodb_
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_
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
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_
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_
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_
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_
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_
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_
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_
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. 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_
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_
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_
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_
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_
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_
Verbosity level for the slow log
Size of transaction coordinator log
Log some non-critical warnings to the error log. Meaningful values are between 0 and 11, where higher values mean more verbosity. Values higher than 11 are equivalent to 11.
Log all queries that have taken more than long_
INSERT/DELETE/UPDATE has lower priority than selects
Case sensitivity of file names on the file system where the data directory is located
Determines whether table names, table aliases, and database names are compared in a case-sensitive manner, and whether tablespace files are stored on disk in a case-sensitive manner
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
Joins that are probably going to read more than max_
Max number of bytes in sorted records
The maximum BLOB length to send to server from mysql_
If there is more than this number of failed connect attempts due to invalid password, user will be blocked from further connections until FLUSH_
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_
The maximum size of the container of a rowid filter
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_
The number of bytes to use when sorting BLOB or TEXT values (only the first max_
Maximum stored procedure recursion depth
A query that has taken more than max_
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_
Block size to be used for MyISAM index pages
Default pointer size to be used for MyISAM tables
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
Specifies how MyISAM index statistics collection code should treat NULLs. Possible values of name are NULLS_
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_
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_
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 tracing of the Optimizer: optimizer_
Maximum allowed size of an optimizer trace
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
Compare usernames case insensitively to work around pam_
Password history retention period in days (0 means unlimited)
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_
Number of rows per thread in EVENTS_
Number of rows in EVENTS_
Number of rows per thread in EVENTS_
Number of rows in EVENTS_
Number of rows per thread in EVENTS_
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_
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_
Maximum number of rows in SETUP_
Maximum number of instrumented users. Use 0 to disable, -1 for automated sizing.
Pid file used by safe_
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_
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
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_
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_
Select base of log for query_
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_
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_
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
When this option is enabled, connections attempted using insecure transport will be rejected. Secure transports are SSL/TLS, Unix sockets or named pipes.
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
Use bulk-load mode for inserts. This disables unique_
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
Include RocksDB block cache content in core dump
Specify the size of block cache high-pri pool
How many percentages of rows to be checksummed
Enables collecting SST file properties on each flush
Commit rows implicitly every rocksdb_
Compact column family
RocksDB will trigger compaction for the file if it has more than this number sequential deletes per window
Counting SingleDelete as rocksdb_
Minimum file size required for compaction_
Size of the window for counting rocksdb_
RocksDB data directory
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_
For debugging purposes only. Overrides the TTL of records to now() + debug_
For debugging purposes only. Sets the snapshot during compaction to now() + debug_
default cf options for RocksDB
Delete column family
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
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.
Raise an error instead of warning if a sub-optimal collation is used
Sync on transaction commit. Similar to innodb_
Force to always compute memtable stats
Time in usecs to cache memtable estimates
Acts similar to force_
Forces memstore flush which may block all write requests so be careful
Used to override the result of records_
Git revision of the RocksDB library used by MyRocks
Ignore MyRocks' data directory errors. (CAUTION: Use only to start the server and perform repairs. Do NOT use for regular operation)
Enable ignoring unknown options passed to RocksDB
Filter level for info logs to be written mysqld error log. Valid values include 'debug_
Timeout for experimental I/O watchdog
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
How many rocksdb threads to run for manual compactions
Skipping holding any lock on row access. Not effective on slave.
Maximum number of recent deadlocks to store
Maximum number of pending + ongoing number of manual compactions
Maximum number of locks a transaction can have
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_
option overrides per cf for RocksDB
Disable all rocksdb background operations
Perf Context Level for rocksdb internal timer stat collection
Path for BlockBasedTableOptions::persistent_
Size of cache in MB for BlockBasedTableOptions::persistent_
Logging queries that got snapshot conflict errors into *.err log
Used to override the result of records_
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
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
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
Allowing statement based binary logging which may break consistency
Option updates per column family for RocksDB
Use ClockCache instead of default LRUCache 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
Maximum size of write batch in bytes. 0 means no limit.
WriteOptions::disableWAL 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_
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_
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
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
Do not load the plugin if filter definitions are invalid
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
Reload filter definitions from tables
The 'facility' parameter of the SYSLOG record. The default is LOG_
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_
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
when ON, SHUTDOWN command runs with implicit WAIT FOR ALL SLAVES option
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_
Changes are logged into the binary log with the @@skip_
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_
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_
Modes for how triggers in row-base replication on slave side will be executed. Legal values are NO (default), YES, LOGGING and ENFORCE. 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. ENFORCE means that triggers will always be run on the slave, even if there are triggers on the master. ENFORCE implies LOGGING.
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_
Tells the slave thread to retry transaction for replication when a query event returns an error from the provided list. Deadlock error, elapsed lock wait timeout, net read error, net read timeout, net write error, net write timeout, connect error and 2 types of lost connection error 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_
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_
Log slow queries to a table or log file. Defaults logging to a file 'hostname'-slow.log or a table mysql.slow_
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_
Pushdown aggregation functions if possible
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_
Initial sql string alloc size
Execute optimize to remote server
Execute optimize to remote server with local
Unlock tables for using connections in sql
Use inner xa transaction
The type of internal_
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 remote time_
Set transaction isolation level at connecting for improvement performance of connection if you know
Wait timeout on remote server
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_
The limit value for semi_
Table lock during execute a sql
Use different connection if semi_
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_
Execute optimize to remote server with local
Use table charset for remote access
The version of Spider
Wait timeout of setting to remote server
Mode of XA transaction register into system table
If set to 1, the query SELECT * FROM table_
If set to 0, MariaDB will not perform large SELECTs. See max_
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 1 adds an implicate IF EXISTS to ALTER, RENAME and DROP of TABLES, VIEWS, FUNCTIONS and PACKAGES
Controls if the client's queries are logged to the binary log for replication. READ-ONLY.
Controls if the client's queries are left out of the general query log. READ-ONLY.
Overrides the default behavior of the server in several contexts
If set to 1, the default, warning_
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_
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_
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
Set option TCP_
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
TLS protocol version for secure connections
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_
Alias for tmp_
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_
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_
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_
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
WSREP 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
Automatically update the (joiner) node's wsrep_
Internal server usage, manually set WSREP GTID seqno
Ignore replication errors
To commit LOAD DATA transaction after every 10K rows inserted (deprecated)
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_
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_
Path to replication provider library
Semicolon (;) separated list of wsrep options (see wsrep_
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
Storage for streaming replication fragments
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
Size of transaction fragments for streaming replication (measured in units of 'wsrep_
Unit for streaming replication transaction fragments' size: bytes, rows, statements
The following System Variables are not present in MariaDB Enterprise Server 10.4.26-17 but are present in one or more older 10.4 ES versions. Click on an item to see its details, including when it was removed.
Controls compression algorithm for create tables. Possible values are: NO_
The default decimal precision for calculated column sub-operations
Enable/Disable the MCS derived_
The maximum size in MB of each 'small side' table in memory
The maximum amount of disk space in MB to use per join for storing 'large side' table data for a disk-based join. (0 = unlimited)
The maximum amount of disk space in MB to use per query for storing 'small side' tables for a disk-based join. (0 = unlimited)
Enable/disable for ColumnStore to replace DECIMAL with DOUBLE in arithmetic operation
Enable/Disable the MCS group_
ASCII value of the delimiter used by LDI and INSERT..SELECT
ASCII value of the quote symbol used by batch data ingestion
Enable/disable the ColumnStore local PM query only feature
Number of parallel threads used by ORDER BY. (default to 16)
Always use the first table in the from clause as the large side table for joins
Allow this MariaDB server to apply replication changes to ColumnStore
Enables the ColumnStore select handler, which allows ColumnStore to plan its own queries
Max number of blocks in a dictionary file to be scanned for filtering
The minimum width of a string column to be stored in a string table
Per user Memory limit(MB). Switch to disk-based JOIN when limit is reached
Enable/disable the MCS decimal scale to be used internally
LOAD DATA INFILE and INSERT..SELECT will use cpimport internally
Always display/process varbinary columns as if they have been hexified
Tell InnoDB to stop any writes to disk
List of tables that will use read-free replication on the slave (i.e., not lookup a row during replication)
To see system variables supported in other versions, see "System Variables by MariaDB Server Version".