(mysql.info.gz) Server system variables
Info Catalog
(mysql.info.gz) Server SQL mode
(mysql.info.gz) Configuring MySQL
(mysql.info.gz) Server status variables
5.2.3 Server System Variables
-----------------------------
Menu
* Dynamic System Variables Dynamic System Variables
The server maintains many system variables that indicate how it is
configured. All of them have default values. They can be set at server
startup using options on the command line or in option files. Most of
them can be set at runtime using the `SET' statement.
Beginning with MySQL 4.0.3, the `mysqld' server maintains two kinds of
variables. Global variables affect the overall operation of the server.
Session variables affect its operation for individual client
connections.
When the server starts, it initializes all global variables to their
default values. These defaults can be changed by options specified in
option files or on the command line. After the server starts, those
global variables that are dynamic can be changed by connecting to the
server and issuing a `SET GLOBAL VAR_NAME' statement. To change a
global variable, you must have the `SUPER' privilege.
The server also maintains a set of session variables for each client
that connects. The client's session variables are initialized at connect
time using the current values of the corresponding global variables. For
those session variables that are dynamic, the client can change them by
issuing a `SET SESSION VAR_NAME' statement. Setting a session variable
requires no special privilege, but a client can change only its own
session variables, not those of any other client.
A change to a global variable is visible to any client that accesses
that global variable. However, it affects the corresponding session
variable that is initialized from the global variable only for clients
that connect after the change. It does not affect the session variable
for any client that is currently connected (not even that of the client
that issues the `SET GLOBAL' statement).
When setting a variable using a startup option, variable values can be
given with a suffix of `K', `M', or `G' to indicate kilobytes,
megabytes, or gigabytes, respectively. For example, the following
command starts the server with a key buffer size of 16 megabytes:
mysqld --key_buffer_size=16M
Before MySQL 4.0, use this syntax instead:
mysqld --set-variable=key_buffer_size=16M
The lettercase of suffix letters does not matter; `16M' and `16m' are
equivalent.
At runtime, use the `SET' statement to set system variables. In this
context, suffix letters cannot be used, but the value can take the form
of an expression:
mysql> SET sort_buffer_size = 10 * 1024 * 1024;
To specify explicitly whether to set the global or session variable,
use the `GLOBAL' or `SESSION' options:
mysql> SET GLOBAL sort_buffer_size = 10 * 1024 * 1024;
mysql> SET SESSION sort_buffer_size = 10 * 1024 * 1024;
Without either option, the statement sets the session variable.
The variables that can be set at runtime are listed in Dynamic
System Variables.
If you want to restrict the maximum value to which a system variable can
be set with the `SET' statement, you can specify this maximum by using
an option of the form `--maximum-VAR_NAME' at server startup. For
example, to prevent the value of `query_cache_size' from being
increased to more than 32MB at runtime, use the option
`--maximum-query_cache_size=32M'. This feature is available as of MySQL
4.0.2.
You can view system variables and their values by using the `SHOW
VARIABLES' statement. See System Variables for more
information.
mysql> SHOW VARIABLES;
+---------------------------------+------------------------------+
| Variable_name | Value |
+---------------------------------+------------------------------|
| back_log | 50 |
| basedir | /usr/local/mysql |
| bdb_cache_size | 8388572 |
| bdb_home | /usr/local/mysql |
| bdb_log_buffer_size | 32768 |
| bdb_logdir | |
| bdb_max_lock | 10000 |
| bdb_shared_data | OFF |
| bdb_tmpdir | /tmp/ |
| bdb_version | Sleepycat Software: ... |
| binlog_cache_size | 32768 |
| bulk_insert_buffer_size | 8388608 |
| character_set | latin1 |
| character_sets | latin1 big5 czech euc_kr |
| concurrent_insert | ON |
| connect_timeout | 5 |
| convert_character_set | |
| datadir | /usr/local/mysql/data/ |
| default_week_format | 0 |
| delay_key_write | ON |
| delayed_insert_limit | 100 |
| delayed_insert_timeout | 300 |
| delayed_queue_size | 1000 |
| flush | OFF |
| flush_time | 0 |
| ft_boolean_syntax | + -><()~*:""&| |
| ft_max_word_len | 84 |
| ft_min_word_len | 4 |
| ft_query_expansion_limit | 20 |
| ft_stopword_file | (built-in) |
| have_bdb | YES |
| have_innodb | YES |
| have_isam | YES |
| have_openssl | YES |
| have_query_cache | YES |
| have_raid | NO |
| have_symlink | DISABLED |
| init_file | |
| innodb_additional_mem_pool_size | 1048576 |
| innodb_buffer_pool_size | 8388608 |
| innodb_data_file_path | ibdata1:10M:autoextend |
| innodb_data_home_dir | |
| innodb_fast_shutdown | ON |
| innodb_file_io_threads | 4 |
| innodb_flush_log_at_trx_commit | 1 |
| innodb_flush_method | |
| innodb_force_recovery | 0 |
| innodb_lock_wait_timeout | 50 |
| innodb_log_arch_dir | |
| innodb_log_archive | OFF |
| innodb_log_buffer_size | 1048576 |
| innodb_log_file_size | 5242880 |
| innodb_log_files_in_group | 2 |
| innodb_log_group_home_dir | ./ |
| innodb_mirrored_log_groups | 1 |
| innodb_thread_concurrency | 8 |
| interactive_timeout | 28800 |
| join_buffer_size | 131072 |
| key_buffer_size | 16773120 |
| key_cache_age_threshold | 300 |
| key_cache_block_size | 1024 |
| key_cache_division_limit | 100 |
| language | /usr/local/mysql/share/... |
| large_files_support | ON |
| local_infile | ON |
| locked_in_memory | OFF |
| log | OFF |
| log_bin | OFF |
| log_slave_updates | OFF |
| log_slow_queries | OFF |
| log_update | OFF |
| log_warnings | 1 |
| long_query_time | 10 |
| low_priority_updates | OFF |
| lower_case_table_names | 0 |
| max_allowed_packet | 1047552 |
| max_binlog_cache_size | 4294967295 |
| max_binlog_size | 1073741824 |
| max_connect_errors | 10 |
| max_connections | 100 |
| max_delayed_threads | 20 |
| max_error_count | 64 |
| max_heap_table_size | 16777216 |
| max_join_size | 4294967295 |
| max_relay_log_size | 0 |
| max_sort_length | 1024 |
| max_tmp_tables | 32 |
| max_user_connections | 0 |
| max_write_lock_count | 4294967295 |
| myisam_max_extra_sort_file_size | 268435456 |
| myisam_max_sort_file_size | 2147483647 |
| myisam_recover_options | force |
| myisam_repair_threads | 1 |
| myisam_sort_buffer_size | 8388608 |
| net_buffer_length | 16384 |
| net_read_timeout | 30 |
| net_retry_count | 10 |
| net_write_timeout | 60 |
| open_files_limit | 1024 |
| pid_file | /usr/local/mysql/name.pid |
| port | 3306 |
| protocol_version | 10 |
| query_cache_limit | 1048576 |
| query_cache_size | 0 |
| query_cache_type | ON |
| read_buffer_size | 131072 |
| read_rnd_buffer_size | 262144 |
| rpl_recovery_rank | 0 |
| server_id | 0 |
| skip_external_locking | ON |
| skip_networking | OFF |
| skip_show_database | OFF |
| slave_net_timeout | 3600 |
| slow_launch_time | 2 |
| socket | /tmp/mysql.sock |
| sort_buffer_size | 2097116 |
| sql_mode | |
| table_cache | 64 |
| table_type | MYISAM |
| thread_cache_size | 3 |
| thread_stack | 131072 |
| timezone | EEST |
| tmp_table_size | 33554432 |
| tmpdir | /tmp/:/mnt/hd2/tmp/ |
| tx_isolation | READ-COMMITTED |
| version | 4.0.4-beta |
| wait_timeout | 28800 |
+---------------------------------+------------------------------+
Most system variables are described here. Variables with no version
indicated have been present since at least MySQL 3.22. `InnoDB' system
variables are listed at `InnoDB' start InnoDB start.
Values for buffer sizes, lengths, and stack sizes are given in bytes
unless otherwise specified.
Information on tuning these variables can be found in Server
parameters.
`ansi_mode'
This is `ON' if `mysqld' was started with `--ansi'. ANSI
mode. This variable was added in MySQL 3.23.6 and removed in
3.23.41. See the description for `sql_mode'.
`back_log'
The number of outstanding connection requests MySQL can have. This
comes into play when the main MySQL thread gets very many
connection requests in a very short time. It then takes some time
(although very little) for the main thread to check the connection
and start a new thread. The `back_log' value indicates how many
requests can be stacked during this short time before MySQL
momentarily stops answering new requests. You need to increase
this only if you expect a large number of connections in a short
period of time.
In other words, this value is the size of the listen queue for
incoming TCP/IP connections. Your operating system has its own
limit on the size of this queue. The manual page for the Unix
`listen()' system call should have more details. Check your OS
documentation for the maximum value for this variable. Attempting
to set `back_log' higher than your operating system limit will be
ineffective.
`basedir'
The MySQL installation base directory. This variable can be set
with the `--basedir' option.
`bdb_cache_size'
The size of the buffer that is allocated for caching indexes and
rows for `BDB' tables. If you don't use `BDB' tables, you should
start `mysqld' with `--skip-bdb' to not waste memory for this
cache. This variable was added in MySQL 3.23.14.
`bdb_home'
The base directory for `BDB' tables. This should be assigned the
same value as the `datadir' variable. This variable was added in
MySQL 3.23.14.
`bdb_log_buffer_size'
The size of the buffer that is allocated for caching indexes and
rows for `BDB' tables. If you don't use `BDB' tables, you should
set this to 0 or start `mysqld' with `--skip-bdb' to not waste
memory for this cache. This variable was added in MySQL 3.23.31.
`bdb_logdir'
The directory where the `BDB' storage engine writes its log files.
This variable can be set with the `--bdb-logdir' option. This
variable was added in MySQL 3.23.14.
`bdb_max_lock'
The maximum number of locks you can have active on a `BDB' table
(10,000 by default). You should increase this if errors such as the
following occur when you perform long transactions or when
`mysqld' has to examine many rows to calculate a query:
bdb: Lock table is out of available locks
Got error 12 from ...
This variable was added in MySQL 3.23.29.
`bdb_shared_data'
This is `ON' if you are using `--bdb-shared-data'. This variable
was added in MySQL 3.23.29.
`bdb_tmpdir'
The value of the `--bdb-tmpdir' option. This variable was added
in MySQL 3.23.14.
`bdb_version'
See the description for `version_bdb'.
`binlog_cache_size'
The size of the cache to hold the SQL statements for the binary
log during a transaction. A binary log cache is allocated for
each client if the server supports any transactional storage
engines and, starting from MySQL 4.1.2, if the server has binary
log enabled (`--log-bin' option). If you often use big,
multiple-statement transactions, you can increase this to get more
performance. The `Binlog_cache_use' and `Binlog_cache_disk_use'
status variables can be useful for tuning the size of this
variable. This variable was added in MySQL 3.23.29. Binary
log.
`bulk_insert_buffer_size'
`MyISAM' uses a special tree-like cache to make bulk inserts
faster for `INSERT ... SELECT', `INSERT ... VALUES (...), (...),
...', and `LOAD DATA INFILE'. This variable limits the size of the
cache tree in bytes per thread. Setting it to 0 disables this
optimization. * This cache is used only when adding data to
a non-empty table. The default value is 8MB. This variable was
added in MySQL 4.0.3. This variable previously was named
`myisam_bulk_insert_tree_size'.
`character_set'
The default character set. This variable was added in MySQL
3.23.3, then removed in MySQL 4.1.1 and replaced by the various
`character_set_XXX' variables.
`character_set_client'
The character set for statements that arrive from the client.
This variable was added in MySQL 4.1.1.
`character_set_connection'
The character set used for literals that do not have a character
set introducer and for number-to-string conversion. This variable
was added in MySQL 4.1.1.
`character_set_database'
The character set used by the default database. The server sets
this variable whenever the default database changes. If there is
no default database, the variable has the same value as
`character_set_server'. This variable was added in MySQL 4.1.1.
`character_set_results'
The character set used for returning query results to the client.
This variable was added in MySQL 4.1.1.
`character_set_server'
The server default character set. This variable was added in
MySQL 4.1.1.
`character_set_system'
The character set used by the server for storing identifiers. The
value is always `utf8'. This variable was added in MySQL 4.1.1.
`character_sets'
The supported character sets. This variable was added in MySQL
3.23.15 and removed in MySQL 4.1.1. (Use `SHOW CHARACTER SET' for
a list of character sets.)
`character_sets_dir'
The directory where character sets are installed. This variable
was added in MySQL 4.1.2.
`collation_connection'
The collation of the connection character set. This variable was
added in MySQL 4.1.1.
`collation_database'
The collation used by the default database. The server sets this
variable whenever the default database changes. If there is no
default database, the variable has the same value as
`collation_server'. This variable was added in MySQL 4.1.1.
`collation_server'
The server default collation. This variable was added in MySQL
4.1.1.
`concurrent_insert'
If `ON' (the default), MySQL allows `INSERT' and `SELECT'
statements to run concurrently for `MyISAM' tables that have no
free blocks in the middle. You can turn this option off by
starting `mysqld' with `--safe' or `--skip-new'. This variable
was added in MySQL 3.23.7.
`connect_timeout'
The number of seconds the `mysqld' server waits for a connect
packet before responding with `Bad handshake'.
`convert_character_set'
The current character set mapping that was set by `SET CHARACTER
SET'. This variable was removed in MySQL 4.1.
`datadir'
The MySQL data directory. This variable can be set with the
`--datadir' option.
`default_week_format'
The default mode value to use for the `WEEK()' function. This
variable is available as of MySQL 4.0.14.
`delay_key_write'
This option applies only to `MyISAM' tables. It can have one of the
following values to affect handling of the `DELAY_KEY_WRITE' table
option that can be used in `CREATE TABLE' statements.
*Option**Description*
`OFF' `DELAYED_KEY_WRITE' is ignored.
`ON' MySQL honors the `DELAY_KEY_WRITE' option for
`CREATE TABLE'. This is the default value.
`ALL' All new opened tables are treated as if they were
created with the `DELAY_KEY_WRITE' option enabled.
If `DELAY_KEY_WRITE' is enabled, this means that the key buffer for
tables with this option are not flushed on every index update, but
only when a table is closed. This will speed up writes on keys a
lot, but if you use this feature, you should add automatic
checking of all `MyISAM' tables by starting the server with the
`--myisam-recover' option (for example,
`--myisam-recover=BACKUP,FORCE'). See Server options and
MyISAM start.
Note that `--external-locking' doesn't offer any protection against
index corruption for tables that use delayed key writes.
This variable was added in MySQL 3.23.8.
`delayed_insert_limit'
After inserting `delayed_insert_limit' delayed rows, the `INSERT
DELAYED' handler thread checks whether there are any `SELECT'
statements pending. If so, it allows them to execute before
continuing to insert delayed rows.
`delayed_insert_timeout'
How long an `INSERT DELAYED' handler thread should wait for
`INSERT' statements before terminating.
`delayed_queue_size'
This is a per-table limit on the number of rows to queue when
handling `INSERT DELAYED' statements. If the queue becomes full,
any client that issues an `INSERT DELAYED' statement will wait
until there is room in the queue again.
`expire_logs_days'
The number of days for automatic binary log removal. The default
is 0, which means "no automatic removal". Possible removals happen
at startup and at binary log rotation. This variable was added in
MySQL 4.1.0.
`flush'
This is `ON' if you have started `mysqld' with the `--flush'
option. This variable was added in MySQL 3.22.9.
`flush_time'
If this is set to a non-zero value, all tables will be closed every
`flush_time' seconds to free up resources and sync unflushed data
to disk. We recommend this option only on Windows 9x or Me, or on
systems with minimal resources available. This variable was added
in MySQL 3.22.18.
`ft_boolean_syntax'
The list of operators supported by boolean full-text searches
performed using `IN BOOLEAN MODE'. This variable was added in
MySQL 4.0.1. Fulltext Boolean.
The default variable value is `'+ -><()~*:""&|''. The rules for
changing the value are as follows:
* Operator function is determined by position within the string.
* The replacement value must be 14 characters.
* Each character must be an ASCII non-alphanumeric character.
* Either the first or second character must be a space.
* No duplicates are allowed except the phrase quoting operators
in positions 11 and 12. These two characters are not required
to be the same, but they are the only two that may be.
* Positions 10, 13, and 14 (which by default are set to `:',
`&', and `|') are reserved for future extensions.
`ft_max_word_len'
The maximum length of the word to be included in a `FULLTEXT'
index. This variable was added in MySQL 4.0.0.
* `FULLTEXT' indexes must be rebuilt after changing this
variable. Use `REPAIR TABLE TBL_NAME QUICK'.
`ft_min_word_len'
The minimum length of the word to be included in a `FULLTEXT'
index. This variable was added in MySQL 4.0.0.
* `FULLTEXT' indexes must be rebuilt after changing this
variable. Use `REPAIR TABLE TBL_NAME QUICK'.
`ft_query_expansion_limit'
The number of top matches to use for full-text searches performed
using `WITH QUERY EXPANSION'. This variable was added in MySQL
4.1.1.
`ft_stopword_file'
The file from which to read the list of stopwords for full-text
searches. All the words from the file are used; comments are
_not_ honored. By default, a built-in list of stopwords is used
(as defined in the `myisam/ft_static.c' file). Setting this
variable to the empty string (`''') disables stopword filtering.
This variable was added in MySQL 4.0.10.
* `FULLTEXT' indexes must be rebuilt after changing this
variable. Use `REPAIR TABLE TBL_NAME QUICK'.
`group_concat_max_len'
The maximum allowed result length for the `GROUP_CONCAT()'
function. This variable was added in MySQL 4.1.0.
`have_archive'
`YES' if `mysqld' supports `ARCHIVE' tables, `NO' if not. This
variable was added in MySQL 4.1.3.
`have_bdb'
`YES' if `mysqld' supports `BDB' tables. `DISABLED' if
`--skip-bdb' is used. This variable was added in MySQL 3.23.30.
`have_compress'
Whether the `zlib' compression library is available to the server.
If not, the `COMPRESS()' and `UNCOMPRESS()' functions cannot be
used. This variable was added in MySQL 4.1.1.
`have_crypt'
Whether the `crypt()' system call is available to the server. If
not, the `CRYPT()' function cannot be used. This variable was
added in MySQL 4.0.10.
`have_csv'
`YES' if `mysqld' supports `ARCHIVE' tables, `NO' if not. This
variable was added in MySQL 4.1.4.
`have_example_engine'
`YES' if `mysqld' supports `EXAMPLE' tables, `NO' if not. This
variable was added in MySQL 4.1.4.
`have_geometry'
Whether the server supports spatial data types. This variable was
added in MySQL 4.1.3.
`have_innodb'
`YES' if `mysqld' supports `InnoDB' tables. `DISABLED' if
`--skip-innodb' is used. This variable was added in MySQL 3.23.37.
`have_isam'
`YES' if `mysqld' supports `ISAM' tables. `DISABLED' if
`--skip-isam' is used. This variable was added in MySQL 3.23.30.
`have_ndbcluster'
`YES' if `mysqld' supports `NDB Cluster' tables. `DISABLED' if
`--skip-ndbcluster' is used. This variable was added in MySQL
4.1.2.
`have_openssl'
`YES' if `mysqld' supports SSL (encryption) of the client/server
protocol. This variable was added in MySQL 3.23.43.
`have_query_cache'
`YES' if `mysqld' supports the query cache. This variable was
added in MySQL 4.0.2.
`have_raid'
`YES' if `mysqld' supports the `RAID' option. This variable was
added in MySQL 3.23.30.
`have_rtree_keys'
Whether `RTREE' indexes are available. (These are used for spatial
indexed in `MyISAM' tables.) This variable was added in MySQL
4.1.3.
`have_symlink'
Whether symbolic link support is enabled. This is required on Unix
for support of the `DATA DIRECTORY' and `INDEX DIRECTORY' table
options. This variable was added in MySQL 4.0.0.
`init_connect'
A string to be executed by the server for each client that
connects. The string consists of one or more SQL statements. To
specify multiple statements, separate them by semicolon characters.
For example, each client begins by default with autocommit mode
enabled. There is no global server variable to specify that
autocommit should be disabled by default, but `init_connect' can
be used to achieve the same effect:
SET GLOBAL init_connect='SET AUTOCOMMIT=0';
This variable can also be set on the command line or in an option
file. To set the variable as just shown using an option file,
include these lines:
[mysqld]
init_connect='SET AUTOCOMMIT=0'
Note that the content of `init_connect' is not executed for users
having the `SUPER' privilege; this is in case that content has
been wrongly set (contains a wrong query, for example with a
syntax error), thus making all connections fail. Not executing it
for `SUPER' users enables those to open a connection and fix
`init_connect'. This variable was added in MySQL 4.1.2.
`init_file'
The name of the file specified with the `--init-file' option when
you start the server. This is a file containing SQL statements
that you want the server to execute when it starts. Each
statement must be on a single line and should not include comments.
This variable was added in MySQL 3.23.2.
`init_slave'
This variable is similar to `init_connect', but is a string to be
executed by a slave server each time the SQL thread starts. The
format of the string is the same as for the `init_connect'
variable. This variable was added in MySQL 4.1.2.
`innodb_XXX'
The `InnoDB' system variables are listed at `InnoDB' start
InnoDB start.
`interactive_timeout'
The number of seconds the server waits for activity on an
interactive connection before closing it. An interactive client
is defined as a client that uses the `CLIENT_INTERACTIVE' option to
`mysql_real_connect()'. See also `wait_timeout'.
`join_buffer_size'
The size of the buffer that is used for full joins (joins that do
not use indexes). Normally the best way to get fast joins is to
add indexes. Increase the value of `join_buffer_size' to get a
faster full join when adding indexes is not possible. One join
buffer is allocated for each full join between two tables. For a
complex join between several tables for which indexes are not
used, multiple join buffers might be necessary.
`key_buffer_size'
Index blocks for `MyISAM' and `ISAM' tables are buffered and are
shared by all threads. `key_buffer_size' is the size of the buffer
used for index blocks. The key buffer is also known as the key
cache.
The maximum allowable setting for `key_buffer_size' is 4GB. The
effective maximum size might be less, depending on your available
physical RAM and per-process RAM limits imposed by your operating
system or hardware platform.
Increase the value to get better index handling (for all reads and
multiple writes) to as much as you can afford. Using a value that
is 25% of total memory on a machine that mainly runs MySQL is
quite common. However, if you make the value too large (for
example, more than 50% of your total memory) your system might
start to page and become extremely slow. MySQL relies on the
operating system to perform filesystem caching for data reads, so
you must leave some room for the filesystem cache.
For even more speed when writing many rows at the same time, use
`LOCK TABLES'. `LOCK TABLES' LOCK TABLES.
You can check the performance of the key buffer by issuing a `SHOW
STATUS' statement and examining the `Key_read_requests',
`Key_reads', `Key_write_requests', and `Key_writes' status
variables. `SHOW' SHOW.
The `Key_reads/Key_read_requests' ratio should normally be less
than 0.01. The `Key_writes/Key_write_requests' ratio is usually
near 1 if you are using mostly updates and deletes, but might be
much smaller if you tend to do updates that affect many rows at
the same time or if you are using the `DELAY_KEY_WRITE' table
option.
The fraction of the key buffer in use can be determined using
`key_buffer_size' in conjunction with the `Key_blocks_unused'
status variable and the buffer block size. From MySQL 4.1.1 on,
the buffer block size is available from the `key_cache_block_size'
server variable. The fraction of the buffer in use is:
1 - ((Key_blocks_unused * key_cache_block_size) / key_buffer_size)
This value is an approximation because some space in the key
buffer may be allocated internally for administrative structures.
Before MySQL 4.1.1, key cache blocks are 1024 bytes, and before
MySQL 4.1.2, `Key_blocks_unused' is unavailable. The
`Key_blocks_used' variable can be used as follows to determine the
fraction of the key buffer in use:
(Key_blocks_used * 1024) / key_buffer_size
However, `Key_blocks_used' indicates the maximum number of blocks
that have ever been in use at once, so this formula does not
necessary represent the current fraction of the buffer that is in
use.
`MyISAM' key cache MyISAM key cache.
`key_cache_age_threshold'
This value controls the demotion of buffers from the hot sub-chain
of a key cache to the warm sub-chain. Lower values cause demotion
to happen more quickly. The minimum value is 100. The default
value is 300. This variable was added in MySQL 4.1.1.
`MyISAM' key cache MyISAM key cache.
`key_cache_block_size'
The size in bytes of blocks in the key cache. The default value
is 1024. This variable was added in MySQL 4.1.1. `MyISAM'
key cache MyISAM key cache.
`key_cache_division_limit'
The division point between the hot and warm sub-chains of the key
cache buffer chain. The value is the percentage of the buffer
chain to use for the warm sub-chain. Allowable values range from
1 to 100. The default value is 100. This variable was added in
MySQL 4.1.1. `MyISAM' key cache MyISAM key cache.
`language'
The language used for error messages.
`large_file_support'
Whether `mysqld' was compiled with options for large file support.
This variable was added in MySQL 3.23.28.
`large_pages'
Indicates whether large page support is enabled. This variable
was added in MySQL 5.0.3.
`license'
The type of license the server has. This variable was added in
MySQL 4.0.19.
`local_infile'
Whether `LOCAL' is supported for `LOAD DATA INFILE' statements.
This variable was added in MySQL 4.0.3.
`locked_in_memory'
Whether `mysqld' was locked in memory with `--memlock'. This
variable was added in MySQL 3.23.25.
`log'
Whether logging of all queries to the general query log is enabled.
Query log.
`log_bin'
Whether the binary log is enabled. This variable was added in
MySQL 3.23.14. Binary log.
`log_error'
The location of the error log. This variable was added in MySQL
4.0.10.
`log_slave_updates'
Whether updates received by a slave server from a master server
should be logged to the slave's own binary log. Binary logging
must be enabled on the slave for this to have any effect. This
variable was added in MySQL 3.23.17. Replication Options.
`log_slow_queries'
Whether slow queries should be logged. "Slow" is determined by
the value of the `long_query_time' variable. This variable was
added in MySQL 4.0.2. Slow query log.
`log_update'
Whether the update log is enabled. This variable was added in
MySQL 3.22.18. Note that the binary log is preferable to the
update log, which is unavailable as of MySQL 5.0. Update
log.
`log_warnings'
Whether to produce additional warning messages. This variable was
added in MySQL 4.0.3. It is enabled by default as of MySQL 4.0.19
and 4.1.2. As of MySQL 4.0.21 and 4.1.3, aborted connections are
not logged to the error log unless the value is greater than 1.
`long_query_time'
If a query takes longer than this many seconds, the `Slow_queries'
status variable is incremented. If you are using the
`--log-slow-queries' option, the query is logged to the slow query
log file. This value is measured in real time, not CPU time, so a
query that is under the threshold on a lightly loaded system might
be above the threshold on a heavily loaded one. Slow query
log.
`low_priority_updates'
If set to `1', all `INSERT', `UPDATE', `DELETE', and `LOCK TABLE
WRITE' statements wait until there is no pending `SELECT' or `LOCK
TABLE READ' on the affected table. This variable previously was
named `sql_low_priority_updates'. It was added in MySQL 3.22.5.
`lower_case_file_system'
This variable indicates whether the filesystem where the data
directory is located has case insensitive filenames. `ON' means
filenames are case insensitive, `OFF' means they are case
sensitive. This variable was added in MySQL 4.0.19.
`lower_case_table_names'
If set to 1, table names are stored in lowercase on disk and table
name comparisons are not case sensitive. This variable was added
in MySQL 3.23.6. If set to 2 (new in 4.0.18), table names are
stored as given but compared in lowercase. From MySQL 4.0.2, this
option also applies to database names. From 4.1.1, it also
applies to table aliases. Name case sensitivity.
You should _not_ set this variable to 0 if you are running MySQL
on a system that does not have case-sensitive filenames (such as
Windows or Mac OS X). New in 4.0.18: If this variable is not set
at startup and the filesystem on which the data directory is
located does not have case-sensitive filenames, MySQL
automatically sets `lower_case_table_names' to 2.
`max_allowed_packet'
The maximum size of one packet or any generated/intermediate
string.
The packet message buffer is initialized to `net_buffer_length'
bytes, but can grow up to `max_allowed_packet' bytes when needed.
This value by default is small, to catch big (possibly wrong)
packets.
You must increase this value if you are using big `BLOB' columns or
long strings. It should be as big as the biggest `BLOB' you want to
use. The protocol limit for `max_allowed_packet' is 16MB before
MySQL 4.0 and 1GB thereafter.
`max_binlog_cache_size'
If a multiple-statement transaction requires more than this amount
of memory, you will get the error `Multi-statement transaction
required more than 'max_binlog_cache_size' bytes of storage'.
This variable was added in MySQL 3.23.29.
`max_binlog_size'
If a write to the binary log exceeds the given value, rotate the
binary logs. You cannot set this variable to more than 1GB or to
less than 4096 bytes. (The minimum before MYSQL 4.0.14 is 1024
bytes.) The default value is 1GB. This variable was added in
MySQL 3.23.33.
Note if you are using transactions: A transaction is written in
one chunk to the binary log, hence it is never split between
several binary logs. Therefore, if you have big transactions, you
might see binary logs bigger than `max_binlog_size'.
If `max_relay_log_size' is 0, the value of `max_binlog_size'
applies to relay logs as well. `max_relay_log_size' was added in
MySQL 4.0.14.
`max_connect_errors'
If there are more than this number of interrupted connections from
a host, that host is blocked from further connections. You can
unblock blocked hosts with the `FLUSH HOSTS' statement.
`max_connections'
The number of simultaneous client connections allowed. Increasing
this value increases the number of file descriptors that `mysqld'
requires. See Table cache for comments on file descriptor
limits. Also see Too many connections.
`max_delayed_threads'
Don't start more than this number of threads to handle `INSERT
DELAYED' statements. If you try to insert data into a new table
after all `INSERT DELAYED' threads are in use, the row will be
inserted as if the `DELAYED' attribute wasn't specified. If you
set this to 0, MySQL never creates a thread to handle `DELAYED'
rows; in effect, this disables `DELAYED' entirely. This variable
was added in MySQL 3.23.0.
`max_error_count'
The maximum number of error, warning, and note messages to be
stored for display by `SHOW ERRORS' or `SHOW WARNINGS'. This
variable was added in MySQL 4.1.0.
`max_heap_table_size'
This variable sets the maximum size to which `MEMORY' (`HEAP')
tables are allowed to grow. The value of the variable is used to
calculate `MEMORY' table `MAX_ROWS' values. Setting this variable
has no effect on any existing `MEMORY' table, unless the table is
re-created with a statement such as `CREATE TABLE' or `TRUNCATE
TABLE', or altered with `ALTER TABLE'. This variable was added in
MySQL 3.23.0.
`max_insert_delayed_threads'
This variable is a synonym for `max_delayed_threads'. It was
added in MySQL 4.0.19.
`max_join_size'
Don't allow `SELECT' statements that probably will need to examine
more than `max_join_size' row combinations or are likely to do more
than `max_join_size' disk seeks. By setting this value, you can
catch `SELECT' statements where keys are not used properly and
that would probably take a long time. Set it if your users tend
to perform joins that lack a `WHERE' clause, that take a long
time, or that return millions of rows.
Setting this variable to a value other than `DEFAULT' resets the
`SQL_BIG_SELECTS' value to `0'. If you set the `SQL_BIG_SELECTS'
value again, the `max_join_size' variable is ignored.
If a query result is in the query cache, no result size check is
performed, because the result has previously been computed and it
does not burden the server to send it to the client.
This variable previously was named `sql_max_join_size'.
`max_length_for_sort_data'
The cutoff on the size of index values that determines which
`filesort' algorithm to use. `ORDER BY' optimization ORDER
BY optimization. This variable was added in MySQL 4.1.1
`max_relay_log_size'
If a write by a replication slave to its relay log exceeds the
given value, rotate the relay log. This variable enables you to
put different size constraints on relay logs and binary logs.
However, setting the variable to 0 makes MySQL use
`max_binlog_size' for both binary logs and relay logs. You must
set `max_relay_log_size' to between 4096 bytes and 1GB
(inclusive), or to 0. The default value is 0. This variable was
added in MySQL 4.0.14. Replication Implementation Details.
`max_seeks_for_key'
Limit the assumed maximum number of seeks when looking up rows
based on a key. The MySQL optimizer will assume that no more than
this number of key seeks will be required when searching for
matching rows in a table by scanning a key, regardless of the
actual cardinality of the key ( SHOW INDEX). By setting
this to a low value (100?), you can force MySQL to prefer keys
instead of table scans.
This variable was added in MySQL 4.0.14.
`max_sort_length'
The number of bytes to use when sorting `BLOB' or `TEXT' values.
Only the first `max_sort_length' bytes of each value are used; the
rest are ignored.
`max_tmp_tables'
The maximum number of temporary tables a client can keep open at
the same time. (This option doesn't yet do anything.)
`max_user_connections'
The maximum number of simultaneous connections allowed to any
given MySQL account. A value of 0 means "no limit." This
variable was added in MySQL 3.23.34.
Before MySQL 5.0.3, this variable has only a global form.
Beginning with MySQL 5.0.3, it also has a read-only session form.
The session variable has the same value as the global variable
unless the current account has a non-zero `MAX_USER_CONNECTIONS'
resource limit. In that case, the session value reflects the
account limit.
`max_write_lock_count'
After this many write locks, allow some read locks to run in
between. This variable was added in MySQL 3.23.7.
`multi_read_range'
Specifies the maximum number of ranges to send to a storage engine
during range selects. The default value is 256. Sending multiple
ranges to an engine is a feature that can improve the performance
of certain selects dramatically, particularly for `NDBCLUSTER'.
This engine needs to send the range requests to all nodes, and
sending many of those requests at once reduces the communication
costs significantly. This variable was added in MySQL 5.0.3.
`myisam_data_pointer_size'
The default pointer size in bytes, to be used by `CREATE TABLE' for
`MyISAM' tables when no `MAX_ROWS' option is specified. This
variable cannot be less than 2 or larger than 8. The default
value is 4. This variable was added in MySQL 4.1.2.
`myisam_data_pointer_size' Full table.
`myisam_max_extra_sort_file_size'
If the temporary file used for fast `MyISAM' index creation would
be larger than using the key cache by the amount specified here,
prefer the key cache method. This is mainly used to force long
character keys in large tables to use the slower key cache method
to create the index. This variable was added in MySQL 3.23.37.
* The value is given in megabytes before 4.0.3 and in bytes
thereafter.
`myisam_max_sort_file_size'
The maximum size of the temporary file MySQL is allowed to use
while re-creating a `MyISAM' index (during `REPAIR TABLE', `ALTER
TABLE', or `LOAD DATA INFILE'). If the file size would be bigger
than this value, the index will be created using the key cache
instead, which is slower. This variable was added in MySQL
3.23.37. * The value is given in megabytes before 4.0.3 and
in bytes thereafter.
`myisam_recover_options'
The value of the `--myisam-recover' option. This variable was
added in MySQL 3.23.36.
`myisam_repair_threads'
If this value is greater than 1, `MyISAM' table indexes are
created in parallel (each index in its own thread) during the
`Repair by sorting' process. The default value is 1. *
Multi-threaded repair is still _alpha_ quality code. This
variable was added in MySQL 4.0.13.
`myisam_sort_buffer_size'
The buffer that is allocated when sorting `MyISAM' indexes during a
`REPAIR TABLE' or when creating indexes with `CREATE INDEX' or
`ALTER TABLE'. This variable was added in MySQL 3.23.16.
`named_pipe'
On Windows, indicates whether the server supports connections over
named pipes. This variable was added in MySQL 3.23.50.
`net_buffer_length'
The communication buffer is reset to this size between queries.
This should not normally be changed, but if you have very little
memory, you can set it to the expected length of SQL statements
sent by clients. If statements exceed this length, the buffer is
automatically enlarged, up to `max_allowed_packet' bytes.
`net_read_timeout'
The number of seconds to wait for more data from a connection
before aborting the read. When the server is reading from the
client, `net_read_timeout' is the timeout value controlling when
to abort. When the server is writing to the client,
`net_write_timeout' is the timeout value controlling when to abort.
See also `slave_net_timeout'. This variable was added in MySQL
3.23.20.
`net_retry_count'
If a read on a communication port is interrupted, retry this many
times before giving up. This value should be set quite high on
FreeBSD because internal interrupts are sent to all threads. This
variable was added in MySQL 3.23.7.
`net_write_timeout'
The number of seconds to wait for a block to be written to a
connection before aborting the write. See also `net_read_timeout'.
This variable was added in MySQL 3.23.20.
`new'
This variable is used in MySQL 4.0 to turn on some 4.1 behaviors.
This variable was added in MySQL 4.0.12.
`old_passwords'
Whether the server should use pre-4.1-style passwords for MySQL
user accounts. This variable was added in MySQL 4.1.1.
`open_files_limit'
The number of files that the operating system allows `mysqld' to
open. This is the real value allowed by the system and might be
different from the value you gave `mysqld' as a startup option.
The value is 0 on systems where MySQL can't change the number of
open files. This variable was added in MySQL 3.23.20.
`optimizer_prune_level'
Controls the heuristics applied during query optimization to prune
less-promising partial plans from the optimizer search space. A
value of 0 disables heuristics so that the optimizer performs an
exhaustive search. A value of 1 causes the optimizer to prune
plans based on the number of rows retrieved by intermediate plans.
This variable was added in MySQL 5.0.1.
`optimizer_search_depth'
The 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 generate an execution plan
for a query. Values smaller than the number of relations in a
query return an execution plan quicker, but the resulting plan may
be far from being optimal. If set to 0, the system automatically
picks a reasonable value. If set to the maximum number of tables
used in a query plus 2, the optimizer switches to the original
algorithm used before MySQL 5.0.1 that performs an exhaustive
search. This variable was added in MySQL 5.0.1.
`pid_file'
The pathname of the process ID (PID) file. This variable can be set
with the `--pid-file' option. This variable was added in MySQL
3.23.23.
`port'
The port on which the server listens for TCP/IP connections. This
variable can be set with the `--port' option.
`preload_buffer_size'
The size of the buffer that is allocated when preloading indexes.
This variable was added in MySQL 4.1.1.
`protocol_version'
The version of the client/server protocol used by the MySQL server.
This variable was added in MySQL 3.23.18.
`query_alloc_block_size'
The allocation size of memory blocks that are allocated for
objects created during query parsing and execution. If you have
problems with memory fragmentation, it might help to increase this
a bit. This variable was added in MySQL 4.0.16.
`query_cache_limit'
Don't cache results that are bigger than this. The default value
is 1MB. This variable was added in MySQL 4.0.1.
`query_cache_min_res_unit'
The minimum size for blocks allocated by the query cache. The
default value is 4KB. Tuning information for this variable is
given in Query Cache Configuration. This variable is
present from MySQL 4.1.
`query_cache_size'
The amount of memory allocated for caching query results. The
default value is 0, which disables the query cache. Note that
this amount of memory will be allocated even if `query_cache_type'
is set to 0. This variable was added in MySQL 4.0.1.
`query_cache_type'
Set query cache type. Setting the `GLOBAL' value sets the type for
all clients that connect thereafter. Individual clients can set the
`SESSION' value to affect their own use of the query cache.
*Option* *Description*
`0' or Don't cache or retrieve results. Note that
`OFF' this will not deallocate the query cache
buffer. To do that, you should set
`query_cache_size' to 0.
`1' or Cache all query results except for those that
`ON' begin with `SELECT SQL_NO_CACHE'.
`2' or Cache results only for queries that begin with
`DEMAND' `SELECT SQL_CACHE'.
This variable was added in MySQL 4.0.3.
`query_cache_wlock_invalidate'
Normally, when one client acquires a `WRITE' lock on a `MyISAM'
table, other clients are not blocked from issuing queries for the
table if the query results are present in the query cache. Setting
this variable to 1 causes acquisition of a `WRITE' lock for a
table to invalidate any queries in the query cache that refer to
the table. This forces other clients that attempt to access the
table to wait while the lock is in effect. This variable was
added in MySQL 4.0.19.
`query_prealloc_size'
The size of the persistent buffer used for query parsing and
execution. This buffer is not freed between queries. If you are
running complex queries, a larger `query_prealloc_size' value
might be helpful in improving performance, because it can reduce
the need for the server to perform memory allocation during query
execution operations. This variable was added in MySQL 4.0.16.
`range_alloc_block_size'
The size of blocks that are allocated when doing range
optimization. This variable was added in MySQL 4.0.16.
`read_buffer_size'
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
might want to increase this value. This variable was added in
MySQL 4.0.3. Previously, it was named `record_buffer'.
`read_only'
When the variable is set to `ON' for a replication slave server, it
causes the slave to allow no updates except from slave threads or
from users with the `SUPER' privilege. This can be useful to
ensure that a slave server accepts no updates from clients. This
variable was added in MySQL 4.0.14.
`relay_log_purge'
Disables or enables automatic purging of relay logs as soon as
they are not needed any more. The default value is 1 (enabled).
This variable was added in MySQL 4.1.1.
`read_rnd_buffer_size'
When reading rows in sorted order after a sort, the rows are read
through this buffer to avoid disk seeks. Setting the variable to
a large value can improve `ORDER BY' performance by a lot.
However, this is a buffer allocated for each client, so you should
not set the global variable to a large value. Instead, change the
session variable only from within those clients that need to run
large queries. This variable was added in MySQL 4.0.3.
Previously, it was named `record_rnd_buffer'.
`safe_show_database'
Don't show databases for which the user has no database or table
privileges. This can improve security if you're concerned about
people being able to see what databases other users have. See also
`skip_show_database'.
This variable was removed in MySQL 4.0.5. Instead, use the `SHOW
DATABASES' privilege to control access by MySQL accounts to
database names.
`secure_auth'
If the MySQL server has been started with the `--secure-auth'
option, it blocks connections from all accounts that have
passwords stored in the old (pre-4.1) format. In that case, the
value of this variable is `ON', otherwise it is `OFF'.
You should enable this option if you want to prevent all usage of
passwords in old format (and hence insecure communication over the
network). This variable was added in MySQL 4.1.1.
Server startup will fail with an error if this option is enabled
and the privilege tables are in pre-4.1 format.
When used as a client-side option, the client refuses to connect
to a server if the server requires a password in old format for
the client account.
`server_id'
The value of the `--server-id' option. It is used for master and
slave replication servers. This variable was added in MySQL
3.23.26.
`shared_memory'
Whether or not the server allows shared-memory connections.
Currently, only Windows servers support this. This variable was
added in MySQL 4.1.1.
`shared_memory_base_name'
Indicates whether or not the server allows shared-memory
connections, and sets the identifier for the shared memory. This
is useful when running multiple MYSQL instances on a single
physical machine. Currently, only Windows servers support this.
This variable was added in MySQL 4.1.0.
`skip_external_locking'
This is `OFF' if `mysqld' uses external locking. This variable
was added in MySQL 4.0.3. Previously, it was named `skip_locking'.
`skip_networking'
This is `ON' if the server allows only local (non-TCP/IP)
connections. On Unix, local connections use a Unix socket file.
On Windows, local connections use a named pipe or shared memory.
On NetWare, only TCP/IP connections are supported, so do not set
this variable to `ON'. This variable was added in MySQL 3.22.23.
`skip_show_database'
This prevents people from using the `SHOW DATABASES' statement if
they don't have the `SHOW DATABASES' privilege. This can improve
security if you're concerned about people being able to see what
databases other users have. See also `safe_show_database'. This
variable was added in MySQL 3.23.4. As of MySQL 4.0.2, its effect
also depends on the `SHOW DATABASES' privilege: If the variable
value is `ON', the `SHOW DATABASES' statement is allowed only to
users who have the `SHOW DATABASES' privilege, and the statement
displays all database names. If the value is `OFF', `SHOW
DATABASES' is allowed to all users, but displays each database
name only if the user has the `SHOW DATABASES' privilege or some
privilege for the database.
`slave_compressed_protocol'
Whether to use compression of the slave/master protocol if both the
slave and the master support it. This variable was added in MySQL
4.0.3.
`slave_net_timeout'
The number of seconds to wait for more data from a master/slave
connection before aborting the read. This variable was added in
MySQL 3.23.40.
`slow_launch_time'
If creating a thread takes longer than this many seconds, the
server increments the `Slow_launch_threads' status variable. This
variable was added in MySQL 3.23.15.
`socket'
On Unix, this is the Unix socket file used for local client
connections. On Windows, this is the name of the named pipe used
for local client connections.
`sort_buffer_size'
Each thread that needs to do a sort allocates a buffer of this
size. Increase this value for faster `ORDER BY' or `GROUP BY'
operations. Temporary files.
`sql_mode'
The current server SQL mode. This variable was added in MySQL
3.23.41. It can be set dynamically as of MySQL 4.1.1.
Server SQL mode.
`sql_slave_skip_counter'
The number of events from the master that a slave server should
skip. It was added in MySQL 3.23.33.
`storage_engine'
This variable is a synonym for `table_type'. It was added in
MySQL 4.1.2.
`sync_binlog'
If positive, the MySQL server will synchronize its binary log to
disk (`fdatasync()') after every `sync_binlog''th write to this
binary log. Note that there is one write to the binary log per
statement if in autocommit mode, and otherwise one write per
transaction. The default value is 0 which does no sync'ing to
disk. A value of 1 is the safest choice, because in case of crash
you will lose at most one statement/transaction from the binary
log; but it is also the slowest choice (unless the disk has a
battery-backed cache, which makes sync'ing very fast). This
variable was added in MySQL 4.1.3.
`sync_frm'
This was added as a command-line option in MySQL 4.0.18, and is
also a settable global variable since MySQL 4.1.3. If set to 1,
when a non-temporary table is created it will synchronize its
`.frm' file to disk (`fdatasync()'); this is slower but safer in
case of crash. Default is 1.
`system_time_zone'
The server system time zone. When the server begins executing, it
inherits a time zone setting from the machine defaults, possibly
modified by the environment of the account used for running the
server or the startup script. The value is used to set
`system_time_zone'. Typically the time zone is specified by the
`TZ' environment variable. It also can be specified using the
`--timezone' option of the `mysqld_safe' script. This variable
was added in MySQL 4.1.3.
`table_cache'
The number of open tables for all threads. Increasing this value
increases the number of file descriptors that `mysqld' requires.
You can check whether you need to increase the table cache by
checking the `Opened_tables' status variable. Server status
variables. If the value of `Opened_tables' is large and you
don't do `FLUSH TABLES' a lot (which just forces all tables to be
closed and reopened), then you should increase the value of the
`table_cache' variable.
For more information about the table cache, see Table
cache.
`table_type'
The default table type (storage engine). To set the table type at
server startup, use the `--default-table-type' option. This
variable was added in MySQL 3.23.0. Server options.
`thread_cache_size'
How many threads the server should cache for reuse. When a client
disconnects, the client's threads are put in the cache if there
are fewer than `thread_cache_size' threads there. Requests for
threads are satisfied by reusing threads taken from the cache if
possible, and only when the cache is empty is a new thread
created. This variable can be increased to improve performance if
you have a lot of new connections. (Normally this doesn't give a
notable performance improvement if you have a good thread
implementation.) By examining the difference between the
status variables:: for details) you can see how efficient the
thread cache is. This variable was added in MySQL 3.23.16.
`thread_concurrency'
On Solaris, `mysqld' calls `thr_setconcurrency()' with this value.
This function allows applications to give the threads system a
hint about the desired number of threads that should be run at the
same time. This variable was added in MySQL 3.23.7.
`thread_stack'
The stack size for each thread. Many of the limits detected by the
`crash-me' test are dependent on this value. The default is large
enough for normal operation. MySQL Benchmarks.
`time_zone'
The current time zone. The initial value of this is `'SYSTEM''
(use the value of `system_time_zone'), but can be specified
explicitly at server startup time with the `--default-time-zone'
option. This variable was added in MySQL 4.1.3.
`timezone'
The time zone for the server. This is set from the `TZ'
environment variable when `mysqld' is started. The time zone also
can be set by giving a `--timezone' argument to `mysqld_safe'.
This variable was added in MySQL 3.23.15. As of MySQL 4.1.3, it is
obsolete and has been replaced by the `system_time_zone' variable.
Timezone problems.
`tmp_table_size'
If an in-memory temporary table exceeds this size, MySQL
automatically converts it to an on-disk `MyISAM' table. Increase
the value of `tmp_table_size' if you do many advanced `GROUP BY'
queries and you have lots of memory.
`tmpdir'
The directory used for temporary files and temporary tables.
Starting from MySQL 4.1, this variable can be set to a list of
several paths that are used in round-robin fashion. Paths should
be separated by colon characters (`:') on Unix and semicolon
characters (`;') on Windows, NetWare, and OS/2.
This feature can be used to spread the load between several
physical disks. If the MySQL server is acting as a replication
slave, you should not set `tmpdir' to point to a directory on a
memory-based filesystem or to a directory that is cleared when the
server host restarts. A replication slave needs some of its
temporary files to survive a machine restart so that it can
replicate temporary tables or `LOAD DATA INFILE' operations. If
files in the temporary file directory are lost when the server
restarts, replication will fail.
This variable was added in MySQL 3.22.4.
`transaction_alloc_block_size'
The allocation size of memory blocks that are allocated for
storing queries that are part of a transaction to be stored in the
binary log when doing a commit. This variable was added in MySQL
4.0.16.
`transaction_prealloc_size'
The size of the persistent buffer for `transaction_alloc_blocks'
that is not freed between queries. By making this big enough to
fit all queries in a common transaction, you can avoid a lot of
`malloc()' calls. This variable was added in MySQL 4.0.16.
`tx_isolation'
The default transaction isolation level. This variable was added
in MySQL 4.0.3.
`updatable_views_with_limit'
This variable controls whether updates can be made using a view
that does not contain a primary key in the underlying table, if
the update contains a `LIMIT' clause. (Such updates often are
generated by GUI tools.) An update is an `UPDATE' or `DELETE'
statement. Primary key here means a `PRIMARY KEY', or a `UNIQUE'
index in which no column can contain `NULL'.
The variable can have two values:
* `1' or `YES': Issue a warning only (not an error message).
This is the default value.
* `0' or `NO': Prohibit the update.
This variable was added in MySQL 5.0.2.
`version'
The version number for the server.
`version_bdb'
The `BDB' storage engine version. This variable was added in
MySQL 3.23.31 with the name `bdb_version' and renamed to
`version_bdb' in MySQL 4.1.1.
`version_comment'
The `configure' script has a `--with-comment' option that allows a
comment to be specified when building MySQL. This variable
contains the value of that comment. This variable was added in
MySQL 4.0.17.
`version_compile_machine'
The type of machine MySQL was built on. This variable was added
in MySQL 4.1.1.
`version_compile_os'
The type of operating system MySQL was built on. This variable
was added in MySQL 4.0.19.
`wait_timeout'
The number of seconds the server waits for activity on a
non-interactive connection before closing it.
On thread startup, the session `wait_timeout' value is initialized
from the global `wait_timeout' value or from the global
`interactive_timeout' value, depending on the type of client (as
defined by the `CLIENT_INTERACTIVE' connect option to
`mysql_real_connect()'). See also `interactive_timeout'.
Info Catalog
(mysql.info.gz) Server SQL mode
(mysql.info.gz) Configuring MySQL
(mysql.info.gz) Server status variables
automatically generated byinfo2html