System variables provide information about the server's configuration and capabilities. Most system variables can be set at server startup time, and many can be modified dynamically while the server is running. This information is given in the description for each variable on the same line as the variable name:
System variable names are not case sensitive.
Some of the variables described here are present only under certain configurations. For example, many of those that begin with bdb_ are shown only if the BDB storage engine is compiled in.
auto_increment_increment (startup: set directly; runtime: global, session)
The amount by which to increment AUTO_INCREMENT values each time the server generates a new sequence value. The default value is 1. This variable was introduced in MySQL 5.0.2.
auto_increment_offset (startup: set directly; runtime: global, session)
The starting value for AUTO_INCREMENT sequences. The default value is 1. This variable was introduced in MySQL 5.0.2.
back_log (startup: set directly)
The maximum number of pending connection requests that can be queued while current connections are being processed.
basedir (startup: set directly)
The pathname to the root directory of the MySQL installation.
bdb_cache_size (startup: set directly)
The size of the buffer used by the BDB storage engine to cache data and index rows. Starting the MySQL server with the --skip-bdb option to disable the BDB storage engine causes this variable to be set to zero, which reduces memory use.
bdb_home (startup: set directly)
The BDB home directory; normally this variable has the same value as datadir.
bdb_log_buffer_size (startup: set directly)
The size of the buffer used for the BDB transaction log.
bdb_logdir (startup: set directly)
The pathname to the directory where the BDB storage engine should write log files.
bdb_max_lock (startup: set directly)
The maximum number of simultaneous locks per BDB table.
bdb_shared_data (startup: set directly)
Whether BDB was started in multi-process mode.
bdb_tmpdir (startup: set directly)
The directory where the BDB storage engine creates temporary files.
binlog_cache_size (startup: set directly; runtime: global)
The size of the cache that is used to store SQL statements that are part of a transaction before they are flushed to the binary log. (This occurs only if the transaction is committed or includes statements that update non-transactional tables. If the transaction updates only transactional tables and is rolled back, the statements are discarded.)
bulk_insert_buffer_size (startup: set directly; runtime: global, session)
The size of the cache used to help optimize bulk inserts into MyISAM tables. This includes LOAD DATA statements, multiple-row INSERT statements, and INSERT INTO … SELECT statements. Setting the value to zero disables the optimization.
character_set
The name of the default character set. This variable was removed in MySQL 4.1.1 and replaced by the various more-specific character_set_xxx variables.
character_set_client (runtime: global, session)
The character set of statements sent by the client to the server. This variable was introduced in MySQL 4.1.1.
character_set_connection (runtime: global, session)
The character set of the client-server connection. This is used to interpret string literals (except those that begin with an introducer) and for the character set of strings that result from number-to-string conversions. This variable was introduced in MySQL 4.1.1.
character_set_database
The character set of the default database, if there is one. If there is no default database (for example, if the client connects without selecting a database), this variable is set to the value of character_set_server. The value of character_set_database is set by the server each time you select a different database. This variable was introduced in MySQL 4.1.1.
character_set_results (runtime: global, session)
The character set of query results sent by the server to the client. This variable was introduced in MySQL 4.1.1.
character_set_server (startup: set directly; runtime: global, session)
The server's default character set. This variable was introduced in MySQL 4.1.1. Beginning with MySQL 4.1.3, the global character_set_server value cannot be set at runtime if binary logging is enabled because that would cause replication difficulties.
character_set_system
The system character set. Its value is always utf8. This is the character set used metadata such as database, table, and column names. It is also used for functions such as DATABASE(), CURRENT_USER(), USER(), and VERSION(). This variable was introduced in MySQL 4.1.1.
character_sets
The list of supported character sets. The value is a set of space-separated character set names. This variable was removed in MySQL 4.1.1, at which point you can use the SHOW CHARACTER SET statement to see which character sets are available.
character_sets_dir (startup: set directly)
The directory where character set files are located.
collation_connection (runtime: global, session)
The connection character set collation. This variable was introduced in MySQL 4.1.1.
collation_database
The database character set collation, if there is one. If there is no default database (for example, if the client connects without selecting one), this variable is set to the value of collation_server. The value of collation_database is set by the server each time you select a different database. This variable was introduced in MySQL 4.1.1.
collation_server (startup: set directly; runtime: global, session)
The server character set collation. This variable was introduced in MySQL 4.1.1. Beginning with MySQL 4.1.3, the global collation_server value cannot be set at runtime if binary logging is enabled because that would cause replication difficulties.
concurrent_insert (startup: set directly; runtime: global)
Whether the server allows INSERT statements on MyISAM tables while SELECT statements are active. This variable is enabled by default, but can be disabled at startup by setting it directly or by using the --skip-concurrent-insert option.
connect_timeout (startup: set directly; runtime: global)
The number of seconds that mysqld waits for packets during the initial connection handshake.
datadir (startup: set directly)
The pathname to the MySQL data directory.
default_week_format (startup: set directly; runtime: global, session)
This variable indicates the default mode value to use when the WEEK() or YEARWEEK() function is invoked without the optional mode argument.
delay_key_write (startup: set directly; runtime: global)
Whether the server respects delayed key writes for MyISAM tables that created with the DELAY_KEY_WRITE option. This variable can have three values:
ON (the default value) tells the server to honor the DELAY_KEY_WRITE option for tables defined with that option. (Key writes are delayed for tables defined with DELAY_KEY_WRITE=1, but not for tables defined with DELAY_KEY_WRITE=0.)
A value of OFF means that key writes are never delayed for any table, no matter how it was defined.
A value of ALL forces key writes always to be delayed for every table, no matter how it was defined.
delayed_insert_limit (startup: set directly; runtime: global)
The number of rows from INSERT DELAYED statements that a delayed-row handler will insert into a table before checking whether any new SELECT statements for the table have arrived. If any have arrived, the handler suspends the insert operation to allow retrievals to execute.
delayed_insert_timeout (startup: set directly; runtime: global)
When a handler for INSERT DELAYED operations finishes inserting queued rows, it waits this many seconds to see if any new INSERT DELAYED rows arrive. If so, it handles them; otherwise, it terminates.
delayed_queue_size (startup: set directly; runtime: global)
The number of rows that may be queued per table for INSERT DELAYED statements. If the queue is full, further INSERT DELAYED statements block until there is room in the queue.
expire_logs_days (startup: set directly; runtime: global)
If set to a value other than the default of 0, the server automatically removes binary log files older than this many days and updates the binary log index file. Expiration is checked when the server starts up and when it opens a new binary log file.
flush (startup: use --flush; runtime: global)
ON or OFF to indicate whether the server flushes tables after each update. The default is OFF; use the --flush option on the command line to enable flushing after updates.
flush_time (startup: set directly; runtime: global)
If this variable has a non-zero value, tables are closed to flush pending changes to disk every flush_time seconds. If your system is unreliable and tends to lock up or restart often, forcing out table changes this way degrades performance but can reduce the chance of table corruption or data loss. The default value is 0 for Unix and 1800 (30 minutes) for Windows.
ft_boolean_syntax (startup: set directly; runtime: global)
The list of operators that are supported for FULLTEXT searches that use IN BOOLEAN MODE.
ft_max_word_len (startup: set directly)
The maximum length of words that can be included in FULLTEXT indexes. Longer words are ignored. If you change the value of this variable, you should rebuild any FULLTEXT indexes that are present in tables managed by the server.
ft_min_word_len (startup: set directly)
The minimum length of words that can be included in FULLTEXT indexes. Shorter words are ignored. If you change the value of this variable, you should rebuild any FULLTEXT indexes that are present in tables managed by the server.
ft_query_expansion_limit (startup: set directly)
This variable is used for full-text searches that are done using the WITH QUERY EXPANSION clause. It determines the number of "top matches" to use for the second phase of each search. This variable was introduced in MySQL 4.1.1.
ft_stopword_file (startup: set directly)
The stopword file for FULLTEXT indexes. The default is to use the built-in list of stopwords.
group_concat_max_len (startup: set directly; runtime: global, session)
The upper limit on the length of values that the GROUP_CONCAT() function should return.
have_archive
YES if the ARCHIVE storage engine is present and enabled, NO if the engine is not present. This variable was introduced in MySQL 4.1.3.
have_bdb
YES if the BDB storage engine is present and enabled, DISABLED if the engine is present but disabled, NO if the engine is not present.
have_compress
For the server to be able to implement the COMPRESS() and UNCOMPRESS() functions, it needs the zlib compression library. This variable indicates whether that library is available. If not, the functions cannot be used. This variable was introduced in MySQL 4.1.1.
have_crypt
For the server to be able to implement the CRYPT() function, it needs the crypt() system call. This variable indicates whether that call is available. If not, the function cannot be used.
have_csv
YES if the CSV storage engine is present and enabled, NO if the engine is not present. This variable was introduced in MySQL 4.1.4.
have_example_engine
YES if the EXAMPLE storage engine is present and enabled, NO if the engine is not present. This variable was introduced in MySQL 4.1.4.
have_federated_engine
YES if the FEDERATED storage engine is present and enabled, NO if the engine is not present. This variable was introduced in MySQL 5.0.3.
have_geometry
YES if spatial data types can be used, NO if not. This variable was introduced in MySQL 4.1.3.
have_innodb
YES if the InnoDB storage engine is present and enabled, DISABLED if the engine is present but disabled, NO if the engine is not present.
have_isam
YES if the ISAM storage engine is present and enabled, DISABLED if the engine is present, but disabled, NO if the engine is not present.
have_ndbcluster
YES if the NDBCLUSTER storage engine is present and enabled, DISABLED if the engine is present, but disabled, NO if the engine is not present. This variable was introduced in MySQL 4.1.2.
have_openssl
YES or NO to indicate whether the server supports encrypted client connections using SSL.
have_query_cache
YES or NO to indicate whether the query cache is available.
have_raid
YES or NO to indicate whether the server supports the RAID-related CREATE TABLE options for MyISAM tables.
have_rtree_keys
YES or NO to indicate whether RTREE indexes are available for indexing spatial data types. This variable was introduced in MySQL 4.1.3.
have_symlink
This variable has a value of YES or NO, but the meaning is platform dependent. On Unix, it indicates whether table symbolic linking is supported for MyISAM tables. On Windows, it indicates whether database symlinking is supported.
init_connect (startup: set directly; runtime: global)
If set to a non-empty value, this variable should contain an SQL statement or statements to be executed for each client that connects to the server. Multiple statements may be specified by separating them by semicolons. This variable can be used to modify the initial session environment in which clients begin. init_connect is ignored for users who have the SUPER privilege, to prevent an incorrect or unwise statement in this variable from causing even administrative users to be unable to connect to the server to correct the problem. This variable was introduced in MySQL 4.1.2.
init_file (startup: set directly)
The name of the file containing SQL statements to be executed by the server when it starts (blank if none). The file should contain one statement per line.
init_slave (startup: set directly; runtime: global)
If set to a non-empty value, this variable should contain an SQL statement or statements to be executed on a slave server each time its SQL thread starts. Multiple statements may be specified by separating them by semicolons. This variable was introduced in MySQL 4.1.2.
innodb_additional_mem_pool_size (startup: set directly)
The size of the InnoDB memory pool for storing internal data structures.
innodb_autoextend_increment (startup: set directly; runtime: global)
The variable controls the amount by which InnoDB increases the size of an auto-extending tablespace that has become full. The value is measured in MB. The default is 8MB, with a maximum of 1000MB. This variable was introduced in MySQL 4.1.5, and is settable at runtime as of 4.1.6.
innodb_buffer_pool_awe_mem_mb (startup: set directly)
This variable is relevant only for 32-bit Windows systems that support Address Windowing Extensions. Its value should be the size in MB of the InnoDB buffer pool if it is placed in AWE memory. The maximum value is 64000. If you set this variable, innodb_buffer_pool_size is the window into the mysqld address space where InnoDB maps AWE memory.
innodb_buffer_pool_size (startup: set directly)
The size of the InnoDB cache for buffering table data and indexes.
innodb_checksums (startup: use --innodb_checksums)
ON or OFF to indicate whether InnoDB table checksum calculation is enabled. The default is ON. This variable was introduced in MySQL 5.0.3.
innodb_data_file_path (startup: set directly)
The specification for the InnoDB tablespace component files.
innodb_data_home_dir (startup: set directly)
The pathname to the directory relative to which the InnoDB tablespace component files are located. If this variable is set to an empty value, component filenames are interpreted as absolute pathnames.
innodb_doublewrite (startup: use --innodb_doublewrite)
ON or OFF to indicate whether the InnoDB doublewrite buffer is enabled. The default is ON. This variable was introduced in MySQL 5.0.3.
innodb_fast_shutdown (startup: set directly)
Whether InnoDB will use its quicker shutdown method that skips some of the operations that it performs normally.
innodb_file_io_threads (startup: set directly)
The number of threads used by InnoDB for file I/O. Changing this variable is effective only for Windows.
innodb_file_per_table (startup: set directly)
If this variable is set to 0 (the default), InnoDB creates each new table in the shared tablespace. If the value is set to 1, InnoDB uses individual tablespaces. That is, each new table gets its own .ibd file in the database directory where the table contents are stored. This variable affects only how new tables are created; InnoDB can access existing tables in the shared tablespace or individual tablespaces regardless of how innodb_file_per_table is set. This variable was introduced in MySQL 4.1.1.
innodb_flush_log_at_trx_commit (startup: set directly)
This option controls how InnoDB log flushing occurs. The following table shows the legal values.
Value | Meaning |
---|
0 | Write to the log once per second and flush to disk |
1 | Write to the log at each commit and flush to disk |
2 | Write to the log at each commit, but flush to disk only once per second |
Note:
If you do not set the value to 1, InnoDB does not guarantee ACID properties; up to about a second of the most recent transactions may be lost if a crash occurs.
innodb_flush_method (startup: set directly)
The method InnoDB uses for log flushing.
innodb_force_recovery (startup: set directly)
Normally 0, but may be set to a value from 1 to 6 to cause the server to start up after a crash even if InnoDB recovery fails. For a description of how this variable is used, see Chapter 13, "Database Backups, Maintenance, and Repair."
innodb_lock_wait_timeout (startup: set directly)
The number of seconds InnoDB waits for a lock for a transaction. If the lock cannot be acquired, InnoDB rolls back the transaction.
innodb_locks_unsafe_for_binlog (startup: use --innodb_locks_unsafe_for_binlog)
ON or OFF to indicate whether InnoDB's use of next-key locking for index searching and scanning is disabled. The default is OFF (that is, next-key locking is enabled). An InnoDB row lock normally locks the row index record and also prevents other clients from inserting a new index record immediately before the locked one. This is called "next-key locking" and prevents phantom records from appearing. Enabling innodb_locks_unsafe_for_binlog disables next-key locking so that a row lock locks only the index record and does not prevent insertion of a new index record before the locked one. This has the following implications:
Some inserts can proceed that otherwise would be blocked.
Phantom records can appear.
InnoDB guarantees at most an isolation level of READ COMMITTED. Serializability is not guaranteed.
As of MySQL 5.0.2, enabling innodb_locks_unsafe_for_binlog causes InnoDB to lock rows that it examines (as usual), but for DELETE or UPDATE only retains the locks on rows that actually are to be changed. Locks for other rows are released after InnoDB determines that it can skip them. This reduces the likelihood of deadlock.
innodb_locks_unsafe_for_binlog applies only to index searching and scanning, not to checking of foreign key constraints or duplicate keys. This variable was introduced in MySQL 4.1.4.
innodb_log_arch_dir (startup: set directly)
This variable is unused.
innodb_log_archive (startup: set directly)
This variable is unused.
innodb_log_buffer_size (startup: set directly)
The size of the InnoDB transaction log buffer. The default is 1MB. Values usually range from 1MB to 8MB.
innodb_log_file_size (startup: set directly)
The size of each InnoDB log file. The product of innodb_log_file_size and innodb_log_files_in_group determines the total InnoDB log size.
innodb_log_files_in_group (startup: set directly)
The number of log files InnoDB maintains. The product of innodb_log_file_size and innodb_log_files_in_group determines the total InnoDB log size.
innodb_log_group_home_dir (startup: set directly)
The pathname to the directory where InnoDB should write its log files.
innodb_max_dirty_pages_pct (startup: set directly; runtime: global)
The percentage of dirty pages that InnoDB allows in its buffer pool before it considers it necessary to flush the log to disk. The value should be from 0 to 100. The default is 90.
innodb_max_purge_lag (startup: set directly; runtime: global)
InnoDB maintains a purge thread that purges records to be deleted as a result of delete or update operations. In cases when small groups of records are inserted and deleted at roughly the same rate, it is possible for the purge thread to fall behind in its operation, resulting in large numbers of to-be-deleted rows taking up space that otherwise would be freed. The innodb_max_purge_lag variable controls how much to delay INSERT, UPDATE, and DELETE statements, causing them to lag so that the purge thread can proceed more efficiently. The default value is 0 (that is, no delay). For non-zero values, the delay is proportional to n / (innodb_max_purge_lag x .00001) seconds, where n is the number of transactions that have records marked for deletion. This variable was introduced in MySQL 4.1.6.
innodb_mirrored_log_groups (startup: set directly)
The number of InnoDB log file groups to maintain. The value should always be 1.
innodb_open_files (startup: set directly)
If innodb_file_per_table is set to 1 to enable individual tablespaces, this variable indicates how many file descriptors InnoDB can use to keep .ibd files open simultaneously. The minimum value is 10 and the default is 300. innodb_file_per_table controls allocation of file descriptors separate from those controlled by open_files_limit; descriptors used for .ibd files are not used by the table cache. This variable was introduced in MySQL 4.1.1.
innodb_table_locks (startup: use --innodb_table_locks; runtime: global, session)
ON or OFF to indicate whether a LOCK TABLE statement for an InnoDB table causes InnoDB to acquire an internal table lock. The default is ON. Disabling this variable can prevent some deadlocks for applications that use LOCK TABLES with autocommit mode enabled. This variable was introduced in MySQL 4.1.7.
innodb_thread_concurrency (startup: set directly; runtime: global)
The limit on the number of threads that InnoDB tries to maintain. This variable can be set as a global runtime variable as of MySQL 5.0.3.
interactive_timeout (startup: set directly; runtime: global, session)
The number of seconds an interactive client connection can remain idle before the server considers itself free to close it. For non-interactive clients, the value of the wait_timeout variable is used instead.
join_buffer_size (startup: set directly; runtime: global, session)
The size of the full-join buffer (that is, the buffer for joins that are performed without use of indexes).
key_buffer_size (startup: set directly; runtime: global)
The size of the buffer used for caching index blocks for MyISAM tables. This buffer is shared among connection-handler threads.
This variable and the other key cache variables (key_cache_age_threshold, key_cache_block_size, and key_cache_division_limit) exist as a group and can be accessed as components of a structured system variable. Multiple key caches can be created for finer control over key cache use. For more information, see "Configuring the MyISAM Storage Engine," in Chapter 11, "General MySQL Administration."
key_cache_age_threshold (startup: set directly; runtime: global)
How long buffers stay unused in the hot sub-chain of the key cache before being moved to the warm sub-chain. Higher values allow blocks to remain in the hot sub-chain longer. The default is 300. The minimum value is 100. This variable was introduced in MySQL 4.1.1.
key_cache_block_size (runtime: global)
The block size for the key cache. By default, a block is 1024 bytes. This variable was introduced in MySQL 4.1.1.
key_cache_division_limit (runtime: global)
If set to the default value of 100, the key cache uses a least recently used strategy for cache buffer reuse. If set lower than 100, the key cache uses a midpoint insertion strategy and the variable value is the percentage of the key cache to use for the warm buffer sub-chain. The value should be from 1 to 100. This variable was introduced in MySQL 4.1.1.
language (startup: set directly)
The language used to display error messages. The value may be either the language name or the pathname of the directory containing the language files.
large_files_support
Whether the server was built with support for handling large files.
license
The server license type; for example, GPL if the server is running under the terms of the GPL.
local_infile (startup: set directly; runtime: global)
Whether LOCAL is allowed for LOAD DATA statements.
locked_in_memory (startup: use --memlock)
Whether the server is locked in memory.
log
Whether query logging is enabled.
log_bin
Whether the binary log is enabled.
log_error (startup: set directly)
The name of the error log file. If the value is empty, the server writes its output to the terminal.
log_slave_updates (startup: set directly)
Whether a replication slave server is logging updates that it receives from the master. Slave update logging can be enabled to allow a slave server to act as a master to another slave in a chained replication configuration.
log_slow_queries
Whether the slow-query log is enabled.
log_update
Whether update logging is enabled. This variable is obsolete as of MySQL 5.0.
log_warnings (startup: set directly; runtime: global)
The logging level for logging non-critical warnings to the error log. The value can be 0 or 1 to disable or enable these warnings, or 2 to also log aborted connections. By default, this variable is 0 before MySQL 4.1.2, and 1 thereafter. As of MySQL 4.1.3, aborted connections are logged only if the value is greater than 1.
long_query_time (startup: set directly; runtime: global, session)
The number of seconds that defines a "slow" query. Any query taking longer than this causes the Slow_queries counter to be incremented. In addition, if the slow-query log is enabled, the query is written to that log.
low_priority_updates (startup: set directly; runtime: global, session)
When set true, this option to give updates a lower priority than retrievals. Statements that modify table contents (DELETE, INSERT, REPLACE, UPDATE) wait until no SELECT is active or pending for the table. SELECT statements that arrive while another is active begin executing immediately rather than waiting for low-priority modification statements. It has the same effect as specifying the LOW_PRIORITY option for statements that support it such as INSERT and UPDATE. For individual INSERT statements, the HIGH_PRIORITY modifier can be given to cancel the effect of this variable and elevate the insert to normal priority.
sql_low_priority_updates is a deprecated synonym for low_priority_updates.
lower_case_file_system
This variable indicates the case sensitivity of filenames for the filesystem that contains the data directory. ON means that names are not case sensitive. (Think of ON as meaning that lowercase and uppercase versions of a filename are considered the same.) OFF means that names are case sensitive.
lower_case_table_names (startup: set directly)
This variable controls how the directory names and filenames corresponding to database and table names are treated when CREATE DATABASE and CREATE TABLE statements are issued. It also controls how name comparisons are performed when executing statements.
A value of 0 causes names to be created on disk as given in CREATE DATABASE and CREATE TABLE statements. Name comparisons are case sensitive. This is the default on systems that have case-sensitive filenames.
A value of 1 causes names to be forced to lowercase when databases and tables are created. Name comparisons are not case sensitive.
A value of 2 causes name lettercase to be preserved, but name comparisons to be not case sensitive. That is, names are created as given in CREATE statements, but not compared in case-sensitive fashion. You should use this value only for filesystems that do not have case sensitive filenames.
If lower_case_table_names has not been set explicitly, the server sets lower_case_table_names to 2 automatically if filenames are not case sensitive on the filesystem that contains the data directory. As of MySQL 4.1.1, setting lower_case_table_names to a non-zero value also causes table aliases not to be case sensitive.
max_allowed_packet (startup: set directly; runtime: global, session)
The maximum size of the buffer used for communication between the server and the client. The buffer is initially allocated to be net_buffer_length bytes long but may grow up to max_allowed_packet bytes as necessary. The maximum value for max_allowed_packet is 1GB.
max_binlog_cache_size (startup: set directly; runtime: global)
The maximum binary log cache size. Statements that make up a transaction are stored in the binary log cache and then written to the binary log at commit time. If the transaction exceeds this size, it must be flushed to a temporary disk file.
max_binlog_size (startup: set directly; runtime: global)
The maximum size of a binary log file. If the current binary log file reaches this size, the server closes it and begins the next one. The allowable range of values is 4KB to 1GB. The default is 1GB.
max_binlog_size also controls the size of slave server relay logs if max_relay_log_size is set to 0.
max_connect_errors (startup: set directly; runtime: global)
The number of failed connections from a host that are allowed before the host is blocked from further connection attempts. This is done on the basis that someone may be attempting to break in from that host. The FLUSH HOSTS statement or mysqladmin flush-hosts command may be used to clear the host cache to re-enable blocked hosts.
max_connections (startup: set directly; runtime: global)
The maximum number of simultaneous client connections allowed.
max_delayed_threads (startup: set directly; runtime: global)
The maximum number of threads that will be created to handle INSERT DELAYED statements. Any such statements that are received while the maximum number of handlers is already in use will be treated as non-DELAYED statements.
max_error_count (startup: set directly; runtime: global, session)
The maximum number of error, warning, and note messages to be stored. (Such events are always counted; this variable controls only how many of the associated messages are stored and available to SHOW ERRORS and SHOW MESSAGES.)
max_heap_table_size (startup: set directly; runtime: global, session)
The maximum allowed size of HEAP tables. This variable can be used to help prevent the server from using excessive amounts of memory.
max_insert_delayed_threads (startup: use --max-delayed-threads; runtime: global)
This variable is a synonym for max_delayed_threads.
max_join_size (startup: set directly; runtime: global, session)
When executing a join, the MySQL optimizer estimates how many row combinations it will need to examine. If the estimate exceeds max_join_size rows, an error is returned. This can be used if users tend to write indiscriminate SELECT statements that return an inordinate number of rows.
This variable is used in combination with the sql_big_selects session-only variable, as discussed in the description for that variable. Setting max_join_size to a value other than DEFAULT automatically sets sql_big_selects to 0.
sql_max_join_size is a deprecated synonym for max_join_size
max_length_for_sort_data (startup: set directly; runtime: global, session)
This variable is used by the query optimizer to determine which type of filesort operation to perform for ORDER BY operations. This variable was introduced in MySQL 4.1.1.
max_relay_log_size (startup: set directly; runtime: global)
The maximum size of a slave server relay log file. If the current relay log file reaches this size, the server closes it and begins the next one. If the value is 0, the server uses the value of max_binlog_size to control relay log file sizes. The allowable range of non-zero values is 4KB to 1GB. The default is 0.
max_seeks_for_key (startup: set directly; runtime: global, session)
The query optimizer uses this variable when performing key-based lookups. If an index has low cardinality (few unique values), the optimizer may assume that key lookups will require many seeks and perform a table scan instead. Setting this variable to a low value tells the optimizer to assume that at most that many index seeks will be required, which will cause it to favor use of the index over a table scan.
max_sort_length (startup: set directly; runtime: global, session)
BLOB or TEXT values are sorted using the first max_sort_length bytes of each value. The default value is 1024. Decreasing the variable value yields shorter comparison times without loss of accuracy if sorted values are unique within this many bytes. If sorted values are not unique within this many bytes, increasing this variable allows them to be better distinguished.
max_tmp_tables (startup: set directly; runtime: global, session)
The maximum number of temporary tables a client can have open simultaneously. This variable currently is unused.
max_user_connections (startup: set directly; runtime: global)
The maximum number of simultaneous client connections allowed to any single account. The default value is zero, which means "no limit". The number of per-account connections is bound in any case by the value of max_connections.
The session value for this variable exists only as of MySQL 5.0.3 and is read-only. The session value is the same as the global value unless the account record in the user table has a non-zero MAX_USER_CONNECTIONS value. In that case, the session value is taken from the account record.
To specify connection limits for specific accounts, use the GRANT statement.
max_write_lock_count (startup: set directly; runtime: global)
After this many write locks to a table, the server begins to elevate the priority of statements that are attempting to acquire a read lock for the table.
myisam_block_size (startup: set directly)
The block size for MyISAM table index blocks.
myisam_data_pointer_size (startup: set directly; runtime: global)
The size in bytes to use for row pointers in MyISAM index files. The allowable range of values is 2 to 8. The default is 4. This variable was introduced in MySQL 4.1.2.
The pointer size can be influenced for individual tables by specifying the MAX_ROWS table option.
myisam_max_extra_sort_file_size (startup: set directly; runtime: global, session)
This value is used by the MyISAM storage engine to help decide when to use a slower but safer key cache index creation method.
myisam_max_sort_file_size (startup: set directly; runtime: global, session)
MyISAM table index rebuilding for statements such as REPAIR TABLE, ALTER TABLE, or LOAD DATA can use a temporary file or the key cache. The value of this variable determines which method is used; if the temporary file would be larger than this value, the key cache is used instead.
myisam_recover_options (startup: use --myisam-recover)
The value of the --myisam-recover option that the server was started with to specify the MyISAM auto-repair mode.
myisam_repair_threads (startup: set directly; runtime: global, session)
The number of threads to use for creating MyISAM table indexes during repair operations. (This applies only to repairing by sorting, not to repairing using the key cache.) The default value is 1 for single-threaded repair. Setting the value higher than 1 for multi-threaded repair should be considered experimental.
myisam_sort_buffer_size (startup: set directly; runtime: global, session)
The size of the buffer that is allocated to sort an index for MyISAM tables during ALTER TABLE, CREATE INDEX, and REPAIR TABLE operations.
named_pipe (startup: use --enable-named-pipe)
Whether support for named-pipe connections is enabled. This applies only to Windows NT-based servers.
net_buffer_length (startup: set directly; runtime: global, session)
The initial size of the buffer used for communication between the server and the client. This buffer may be expanded up to max_allowed_packet bytes long.
net_read_timeout (startup: set directly; runtime: global, session)
The number of seconds to wait for data from a client connection before timing out.
net_retry_count (startup: set directly; runtime: global, session)
The number of times to retry an interrupted read.
net_write_timeout (startup: set directly; runtime: global, session)
The number of seconds to wait before timing out while writing a block to a client connection.
new (startup: set directly; runtime: global, session)
This variable is used in MySQL 4.0. It causes the server to use 4.1 behaviors for the 4.1 TIMESTAMP display format and the treatment of hexadecimal values as strings rather than numbers by default. This variable was introduced in MySQL 4.0.12.
old_passwords (startup: set directly; runtime: global, session)
The password hashing algorithm used for user authentication changed in MySQL 4.1. old_passwords indicates whether the server is using the older pre-4.1 hashing algorithm. This variable was introduced in MySQL 4.1.1.
open_files_limit (startup: set directly)
This variable is the number of file descriptors the server will attempt to reserve. If you set it to a non-zero value at startup time, but the actual value displayed by the server is smaller than specified, the value indicates the maximum number of files descriptors allowed by the operating system. (In the case that the server displays a value of zero, it means the operating system didn't allow mysqld to change the number of descriptors.) If you don't set the value at startup or set it to zero, the server uses the larger of max_connections*5 and max_connections + table_cache*2 as the number of descriptors to reserve. open_files_limit controls allocation of file descriptors separate from those controlled by innodb_open_files.
optimizer_prune_level (startup: set directly; runtime: global, session)
The query optimizer examines multiple execution plans to determine the best one. This variable determines how the optimizer handles intermediate plans. If optimizer_prune_level is 1 (the default), the optimizer discards intermediate plans based on estimates of the number of rows they will require to be examined. If the variable is set to 0, it performs an exhaustive search of all plans. This variable was introduced in MySQL 5.0.1.
optimizer_search_depth (startup: set directly; runtime: global, session)
Controls the depth to which the optimizer searches for execution plans. A value of 0 causes the optimizer to pick a reasonable value automatically. The default is to use the pre-MySQL 5.0 behavior, which is to do an exhaustive search. This variable was introduced in MySQL 5.0.1.
pid_file (startup: set directly)
The pathname of the file where the server writes its process ID number.
port (startup: set directly)
The number of the TCP/IP port to which the server listens for client connections.
preload_buffer_size (startup: set directly; runtime: global, session)
This variable determines how large a buffer to allocate when preloading indexes with the LOAD INDEX statement. This variable was introduced in MySQL 4.1.1.
protocol_version
The version number of the client/server protocol the server is using.
pseudo_thread_id
This variable is deliberately undocumented; don't attempt to use it. (I suppose now you're really curious to know its purpose, huh?)
query_alloc_block_size (startup: set directly; runtime: global, session)
The block size for allocation of temporary memory while parsing and executing statements.
query_cache_limit (startup: set directly; runtime: global)
The maximum size of cached query results; larger results are not cached. The default value is 1MB.
query_cache_min_res_unit (startup: set directly; runtime: global)
The block size for allocation of memory for storing results in the query cache. The default value is 4KB.
query_cache_size (startup: set directly; runtime: global)
The amount of memory to use for query result caching. Setting this variable to zero disables the query cache, even if query_cache_type is not OFF. Conversely, setting this variable to a non-zero value causes that much memory to be allocated, even if query_cache_type is OFF.
query_cache_type (startup: set directly; runtime: global, session)
The mode of operation of the query cache, if query_cache_size is greater than zero. The following table lists the allowable mode values.
Mode | Meaning |
---|
0 | Don't cache query results or retrieve cached results |
1 | Cache queries except those that begin with SELECT SQL_NO_CACHE |
2 | Cache on demand only those queries that begin with SELECT SQL_CACHE |
If you set the query_cache_type variable in a SET statement, the symbolic values OFF, ON, and DEMAND can be used as synonyms for 0, 1, and 2.
sql_query_cache_type is a deprecated synonym for query_cache_type.
query_cache_wlock_invalidate (startup: set directly; runtime: global, session)
When this variable is 0 (the default) clients can retrieve cached query results for a table even if another client acquires a WRITE lock on the table. Setting this variable to 1 cause the cached results to be invalidated when a client acquires a WRITE lock, forcing other clients to wait for the lock to be released.
query_prealloc_size (startup: set directly; runtime: global, session)
The size of the buffer that is allocated for parsing and executing statements. This buffer is not freed between statements, unlike blocks allocated under the control of the query_alloc_block_size variable.
range_alloc_block_size (startup: set directly; runtime: global, session)
The block size for allocation of memory while performing range optimizations.
read_buffer_size (startup: set directly; runtime: global, session)
The size of the buffer used by threads that perform sequential table scans. A buffer is allocated as necessary per client.
read_only (startup: set directly; runtime: global)
This variable controls whether a slave server operates in read-only fashion for client connections. By default, read_only is OFF, updates by clients are accepted in the usual way (that is, they have privileges to do so). When set to ON, updates are allowed only for statements received from the master or issued by clients that have the SUPER privilege.
read_rnd_buffer_size (startup: set directly; runtime: global, session)
The size of the buffer used for reading rows in order after a sort. A buffer is allocated as necessary per client.
relay_log_purge (startup: set directly; runtime: global)
When set to 1 (the default), a slave server removes each relay log file as soon as it is no longer needed. If set to 0, the relay logs are not removed automatically. This variable was introduced in MySQL 4.1.1.
relay_log_space_limit (startup: set directly)
The maximum allowable combined size of the relay logs.
rpl_recovery_rank (runtime: global)
The server's replication recovery rank. This is unused currently; its purpose in the future will be to allow a slave server that has lost its master to select a new master from among communicating replication servers.
secure_auth (startup: set directly; runtime: global)
When set to ON, the server allows connections only for accounts that have the newer password format introduced in MySQL 4.1.1. When set to OFF, the server also allows connections to accounts that have passwords in the older format. The default is OFF. This variable was introduced in MySQL 4.1.1.
server_id (startup: set directly; runtime: global)
The server's replication ID number. If 0, the server is not participating in replication. Otherwise, the value should be an integer from 1 to 2321. The value must be different from that of any other replication server that you are using.
shared_memory (startup: set directly)
If set to ON, the server allows shared-memory connections by clients. The default is OFF. Currently, shared-memory connections are supported only on Windows. This variable was introduced in MySQL 4.1.1.
shared_memory_base_name (startup: set directly)
The shared memory name to use for shared-memory connections. The default name is MYSQL.
skip_external_locking (startup: set directly)
Whether use of external locking (filesystem locking) is suppressed.
skip_networking (startup: set directly)
OFF to allow TCP/IP connections, ON to disable them. In the latter case, clients can connect from the local host only, using Unix socket connections under Unix or named pipes under Windows.
skip_show_database (startup: set directly)
When set to OFF (the default), the SHOW DATABASES statement can be used by any user. It displays all databases if the user has the SHOW DATABASES privilege, or those databases for which the user has some privilege otherwise. When set to ON, the SHOW DATABASES statement can be used only by users who have the SHOW DATABASES privilege, and it displays all databases.
slave_compressed_protocol (startup: set directly)
Whether compression should be used to reduce the amount of traffic sent between a slave server and its master. This requires that both the master and slave support the compressed protocol.
slave_net_timeout (startup: set directly; runtime: global)
The number of seconds to wait for data from a master server before timing out.
slow_launch_time (startup: set directly; runtime: global)
The number of seconds that defines "slow" thread creation. Any thread taking longer to create causes the Slow_launch_threads status counter to be incre mented.
socket (startup: set directly)
The pathname to the Unix domain socket, or the name of the named pipe under Windows.
sort_buffer_size (startup: set directly; runtime: global, session)
The size of the buffer used by threads for performing sort operations (GROUP BY or ORDER BY). This buffer is allocated as necessary per client. Normally, if you may have many clients that do sorting at the same time, it is unwise to make this value very large (more than 1MB).
sql_mode (startup: set directly; runtime: global, session)
The server SQL mode. This variable modifies certain aspects of the server's behavior to cause it to act according to standard SQL, or to be compatible with other database servers or older MySQL servers. The value should be a comma-separated list of one or more of the mode values described in the following discussion, or an empty string to clear the mode. Some mode values are simple and enable one behavior. Others are composite modes that serve as shorthand allowing a set of modes to be specified more easily.
The term "strict mode" refers to a sql_mode setting that has STRICT_TRANS_TABLES or STRICT_ALL_TABLES enabled to cause the server to be strict about data checking. Strict mode and other modes that affect input data handling are discussed further in "How MySQL Handles Invalid Data Values," in Chapter 3, "Working with Data in MySQL."
The following list describes the simple SQL mode values:
ALLOW_INVALID_DATES
In strict mode, suppress full date validity checking for DATE and DATETIME values. The only requirements are that the month be in the range from 1 to 12 and the day in the range from 1 to 31. TIMESTAMP values must be valid regardless of whether this mode is enabled.
ALLOW_INVALID_DATES was introduced in MySQL 5.0.2. Prior to 5.0.2, date handling is performed as though ALLOW_INVALID_DATES is enabled. That is, date checking is not strict.
ANSI_QUOTES
Treat the double quote character as a quote character for identifiers such as database, table, and column names, and not as a string quote character. (Backticks still are allowed for name quoting when this mode is enabled.)
ERROR_FOR_DIVISION_BY_ZERO
Division by zero normally produces a result of NULL and no warning, even in strict mode. Enabling ERROR_FOR_DIVISION_BY_ZERO changes this behavior. With strict mode not enabled, division by zero still produces a result of NULL but a warning occurs. With strict mode enabled, division by zero during INSERT and UPDATE statements causes an error and the statement fails. To suppress the error for inserts and produce a result of NULL and a warning, use INSERT IGNORE. This mode was introduced in MySQL 5.0.2.
HIGH_NOT_PRECEDENCE
This mode was introduced in MySQL 5.0.2. It changes the precedence of the NOT operator to be the same as the ! operator, which is the precedence that NOT had before MySQL 5.0.2.
IGNORE_SPACE
Allow spaces between function names and the following opening parenthesis. This results in function names being treated as reserved words.
NO_AUTO_CREATE_USER
Prohibit GRANT statements from creating insecure new accounts. GRANT fails if it does not include an IDENTIFIED BY clause to provide an account password. This mode was introduced in MySQL 5.0.2.
NO_AUTO_VALUE_ON_ZERO
When this mode is not enabled, inserting 0 into an AUTO_INCREMENT column has the same result as inserting NULL: MySQL generates the next sequence number and stores it in the column. When this mode is enabled, inserting 0 into an AUTO_INCREMENT column causes 0 to be stored. This mode was introduced in MySQL 4.1.1.
NO_BACKSLASH_ESCAPES
Do not treat backslash ('\') as an escape character within strings, but rather as an ordinary character with no special meaning. This mode was introduced in MySQL 5.0.1.
NO_DIR_IN_CREATE
Ignore DATA DIRECTORY and INDEX DIRECTORY table options in CREATE TABLE and ALTER TABLE statements.
NO_FIELD_OPTIONS
Make the output of SHOW CREATE TABLE statements more portable by suppressing inclusion of any MySQL-specific column-related options. This mode was introduced in MySQL 4.1.1.
NO_KEY_OPTIONS
Make the output of SHOW CREATE TABLE statements more portable by suppressing inclusion of any MySQL-specific index-related options. This mode was introduced in MySQL 4.1.1.
NO_TABLE_OPTIONS
Make the output of SHOW CREATE TABLE statements more portable by suppressing inclusion of any MySQL-specific table-related options. This mode was introduced in MySQL 4.1.1.
NO_UNSIGNED_SUBTRACTION
As of MySQL 4, subtraction between integer operands results in an unsigned result if either operand is unsigned. This mode allows signed results, which is compatible with the behavior of MySQL prior to version 4.
NO_ZERO_DATE
In strict mode, reject '0000-00-00' as a valid date. Normally, MySQL allows "zero" date values to be stored. This mode can be overridden by using INSERT IGNORE rather than INSERT. This mode was introduced in MySQL 5.0.2.
NO_ZERO_IN_DATE
In strict mode, reject dates that have a month or day part of zero. Normally, MySQL allows such date values to be stored. In non-strict mode or if INSERT IGNORE is used, MySQL stores such dates as '0000-00-00'. This mode was introduced in MySQL 5.0.2.
ONLY_FULL_GROUP_BY
Normally, MySQL allows SELECT statements with columns in the output column list that are not named in the GROUP BY clause:
SELECT a, b, COUNT(*) FROM t GROUP BY a;
The ONLY_FULL_GROUP_BY flag requires output columns to be named in the GROUP BY:
SELECT a, b, COUNT(*) FROM t GROUP BY a, b;
PIPES_AS_CONCAT
Treat || as a string concatenation operator rather than as logical OR.
REAL_AS_FLOAT
The REAL data type becomes a synonym for FLOAT rather than for DOUBLE.
STRICT_ALL_TABLES
Enable strict checking of input data values for all storage engines to cause MySQL to reject most invalid values. This mode was introduced in MySQL 5.0.2. Use trADITIONAL to be even more strict.
STRICT_TRANS_TABLES
Enable strict checking of input data values for transactional storage engines to cause MySQL to reject most invalid values. In addition, enable strict checking for non-transactional storage engines when that is possible (such as for single-row INSERT statements). This mode was introduced in MySQL 5.0.2. Use trADITIONAL to be even more strict.
The following list describes the composite SQL modes that are shorthand for a set of other modes.
ANSI is shorthand for:
ANSI_QUOTES, IGNORE_SPACE, ONLY_FULL_GROUP_BY, PIPES_AS_CONCAT,
REAL_AS_FLOAT
This mode was introduced in MySQL 4.1.1.
DB2 is shorthand for:
ANSI_QUOTES, IGNORE_SPACE, NO_FIELD_OPTIONS, NO_KEY_OPTIONS,
NO_TABLE_OPTIONS, PIPES_AS_CONCAT
This mode was introduced in MySQL 4.1.1.
MAXDB is shorthand for:
ANSI_QUOTES, IGNORE_SPACE, NO_AUTO_CREATE_USER, NO_FIELD_OPTIONS,
NO_KEY_OPTIONS, NO_TABLE_OPTIONS, PIPES_AS_CONCAT
This mode was introduced in MySQL 4.1.1.
MSSQL is shorthand for:
ANSI_QUOTES, IGNORE_SPACE, NO_FIELD_OPTIONS, NO_KEY_OPTIONS,
NO_TABLE_OPTIONS, PIPES_AS_CONCAT
This mode was introduced in MySQL 4.1.1.
MYSQL323 is shorthand for:
HIGH_NOT_PRECEDENCE, NO_FIELD_OPTIONS
This mode was introduced in MySQL 4.1.1.
MYSQL40 is shorthand for:
HIGH_NOT_PRECEDENCE, NO_FIELD_OPTIONS
This mode was introduced in MySQL 4.1.1.
ORACLE is shorthand for:
ANSI_QUOTES, IGNORE_SPACE, NO_AUTO_CREATE_USER, NO_FIELD_OPTIONS,
NO_KEY_OPTIONS, NO_TABLE_OPTIONS, PIPES_AS_CONCAT
This mode was introduced in MySQL 4.1.1.
POSTGRESQL is shorthand for:
ANSI_QUOTES, IGNORE_SPACE, NO_FIELD_OPTIONS, NO_KEY_OPTIONS,
NO_TABLE_OPTIONS, PIPES_AS_CONCAT
This mode was introduced in MySQL 4.1.1.
TRADITIONAL is shorthand for:
ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ZERO_DATE,
NO_ZERO_IN_DATE, STRICT_ALL_TABLES, STRICT_TRANS_TABLES
trADITIONAL mode is so called because it enables the modes that cause handling of input values to be like that of traditional databases that reject invalid data. It's like strict mode but includes several additional constraints for even stricter checking. This mode was introduced in MySQL 5.0.2.
sql_slave_skip_counter (runtime: global)
If you have the SUPER privilege, you can set this as a GLOBAL variable to a value of n to tell a slave replication server to skip the next n events received from its master server.
storage_engine (startup: use --default-storage-engine; runtime: global, session)
The default storage engine, used for tables that are created without an ENGINE = engine_name option or with an unsupported engine_name value. This variable was introduced in MySQL 4.1.2.
sync_binlog (startup: set directly; runtime: global)
When set to 0 (the default), the server does not flush the binary log to disk. When set to a positive value N, the server flushes the log after every N writes to the binary log. In this case, lower values provide greater safety in the event of a crash, but also affect performance more adversely. This variable was introduced in MySQL 4.1.3.
sync_frm (startup: set directly; runtime: global)
When set to 0, the server does not flush the .frm file for non-temporary tables to disk when they are created. The default is 1, which does flush the file. This variable was introduced in MySQL 4.1.3.
system_time_zone
The server's system time zone. The server tries to set this variable when it starts by consulting the system. One way to set it is by setting the TZ environment variable. system_time_zone variable was introduced in MySQL 4.1.3. It replaces the older timezone variable.
table_cache (startup: set directly; runtime: global)
The maximum number of tables that can be open. This cache is shared between threads.
table_type (startup: use --default-storage-engine; runtime: global, session)
This variable is a synonym for storage_engine.
thread_cache_size (startup: set directly; runtime: global)
The maximum number of threads to maintain in the thread cache. Threads from clients that disconnect are put in the cache if it's not already full. This allows new connections to be serviced by reusing cached threads rather than creating new threads, as long as threads remain in the cache.
thread_concurrency (startup: set directly)
This variable applies only to Solaris. The value is passed to thr_concurrency() to provide a hint to the thread manager about how many threads to run simultaneously.
tHRead_stack (startup: set directly)
The stack size for each thread.
time_zone (startup: use --default-time-zone; runtime: global, session)
The server's current time zone. A value of SYSTEM indicates that the server is using the value of the system_time_zone variable. A client can modify the session value of this variable to set the time zone for its own connection. This variable was introduced in MySQL 4.1.3. The global time_zone value cannot be set at runtime if binary logging is enabled because that would cause replication difficulties.
timezone
The server's system time zone. This variable was removed in MySQL 4.1.3 and replaced with system_time_zone. This change is coincident with the addition of support for per-connection time zones. (See "Configuring Time Zone Support," in Chapter 11, "General MySQL Administration.")
tmp_table_size (startup: set directly; runtime: global, session)
The maximum number of bytes allowed for internal temporary tables (tables that the server creates automatically while processing statements). If a temporary table exceeds this size, the server converts it to a MyISAM table on disk. If you have memory to spare, higher values of this variable allow the server to maintain larger temporary tables in memory without converting them to on-disk format.
tmpdir (startup: set directly)
The pathname to the directory where the server creates temporary files. The option value can be given as a list of directories, to be used in round-robin fashion. Under Unix, separate directory names by colons; under Windows or NetWare, separate them by semicolons.
transaction_alloc_block_size (startup: set directly; runtime: global, session)
The block size for allocation of temporary memory needed for processing statements that are stored as part of a transaction prior to writing the transaction to the binary log at commit time.
transaction_prealloc_size (startup: set directly; runtime: global, session)
The size of the buffer that is allocated for processing statements that are part of a transaction. This buffer is not freed between statements, unlike blocks allocated under the control of the transaction_alloc_block_size variable.
tx_isolation (startup: use --transaction-isolation; runtime: global, session)
The default transaction isolation level.
updatable_views_with_limit (startup: set directly; runtime: global, session)
When set to 0 or NO, the server disallows updates (UPDATE or DELETE statements) to views that do not use a primary key in the underlying table, even if the update contains a LIMIT 1 clause to constrain the update to a single row. When set to 1 or YES (the default), the update is allowed and the server produces only a warning. This variable was introduced in MySQL 5.0.2.
version
The server version. The value consists of a version number, possibly followed by one or more suffixes. The suffix values are listed in the description of the VERSION() function in Appendix C, "Operator and Function Reference."
version_bdb
The version number of the BDB storage engine. This variable was renamed from bdb_version to version_bdb in MySQL 4.1.1.
version_comment
The value of the --with-comment option specified to configure at the time the server was built. The default value is "Source distribution" if you don't specify any comment at configuration time. This variable was introduced in MySQL 4.0.17.
version_compile_machine
The compilation machine (hardware type). The value is determined during the configuration process when MySQL is built. This variable was introduced in MySQL 4.1.1.
version_compile_os
The compilation operating system. The value is determined during the configuration process when MySQL is built. This variable was introduced in MySQL 4.0.19.
wait_timeout (startup: set directly; runtime: global, session)
The number of seconds a non-interactive client connection can remain idle before the server considers itself free to close it. For interactive clients, the value of the interactive_timeout variable is used instead.