SHOW [GLOBAL | SESSION] VARIABLES [LIKE wild]
Команда SHOW VARIABLES
отображает значения некоторых системных переменных
MySQL. Такую же информацию можно получить и при помощи команды mysqladmin variables
. Если установленные по умолчанию значения вам не подходят,
большинство из этих переменных можно задать, используя параметры командной
строки при запуске mysqld
. See Раздел 4.1.1, «Параметры командной строки mysqld
».
Опции GLOBAL
и SESSION
новы с версии MySQL 4.0.3. С помощью GLOBAL
вы получите
значения, использующиеся для новых подключений к MySQL. С помощью SESSION
вы
получите значения, которые действуют прямо сейчас в текущем соединении. Если вы
не указываете эти опции, подразумевается SESSION
.
Вы можете изменить большинство параметров с помощью команды SET
. See Раздел 5.5.6, «Синтаксис команды SET
».
Ниже приведен пример выходных данных; формат и числа могут иметь некоторые отличия:
+---------------------------------+------------------------------+ | Variable_name | Value | +---------------------------------+------------------------------| | back_log | 50 | | basedir | /usr/local/mysql | | bdb_cache_size | 8388572 | | bdb_log_buffer_size | 32768 | | bdb_home | /usr/local/mysql | | bdb_max_lock | 10000 | | bdb_logdir | | | 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/ | | 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_min_word_len | 4 | | ft_max_word_len | 254 | | ft_max_word_len_for_sort | 20 | | ft_stopword_file | (built-in) | | have_bdb | YES | | have_innodb | YES | | have_isam | YES | | have_raid | NO | | have_symlink | DISABLED | | have_openssl | YES | | have_query_cache | YES | | 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_file_io_threads | 4 | | innodb_force_recovery | 0 | | innodb_thread_concurrency | 8 | | innodb_flush_log_at_trx_commit | 0 | | innodb_fast_shutdown | ON | | innodb_flush_method | | | 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 | | interactive_timeout | 28800 | | join_buffer_size | 131072 | | key_buffer_size | 16773120 | | language | /usr/local/mysql/share/... | | large_files_support | ON | | local_infile | ON | | locked_in_memory | OFF | | log | OFF | | log_update | OFF | | log_bin | OFF | | log_slave_updates | OFF | | log_slow_queries | OFF | | log_warnings | OFF | | long_query_time | 10 | | low_priority_updates | OFF | | lower_case_table_names | OFF | | max_allowed_packet | 1047552 | | max_binlog_cache_size | 4294967295 | | max_binlog_size | 1073741824 | | max_connections | 100 | | max_connect_errors | 10 | | max_delayed_threads | 20 | | max_heap_table_size | 16777216 | | max_join_size | 4294967295 | | max_sort_length | 1024 | | max_user_connections | 0 | | max_tmp_tables | 32 | | max_write_lock_count | 4294967295 | | myisam_max_extra_sort_file_size | 268435456 | | myisam_max_sort_file_size | 2147483647 | | myisam_recover_options | force | | myisam_sort_buffer_size | 8388608 | | net_buffer_length | 16384 | | net_read_timeout | 30 | | net_retry_count | 10 | | net_write_timeout | 60 | | open_files_limit | 0 | | pid_file | /usr/local/mysql/name.pid | | port | 3306 | | protocol_version | 10 | | read_buffer_size | 131072 | | read_rnd_buffer_size | 262144 | | rpl_recovery_rank | 0 | | query_cache_limit | 1048576 | | query_cache_size | 0 | | query_cache_type | ON | | safe_show_database | OFF | | server_id | 0 | | slave_net_timeout | 3600 | | skip_external_locking | ON | | skip_networking | OFF | | skip_show_database | OFF | | slow_launch_time | 2 | | socket | /tmp/mysql.sock | | sort_buffer_size | 2097116 | | sql_mode | 0 | | table_cache | 64 | | table_type | MYISAM | | thread_cache_size | 3 | | thread_stack | 131072 | | tx_isolation | READ-COMMITTED | | timezone | EEST | | tmp_table_size | 33554432 | | tmpdir | /tmp/:/mnt/hd2/tmp/ | | version | 4.0.4-beta | | wait_timeout | 28800 | +---------------------------------+------------------------------+
Ниже описаны все параметры. Значения размеров буферов, длины и размеры
стеков приведены в байтах. Значения можно указать с суффиксом 'K'
или 'M'
,
чтобы обозначить килобайты или мегабайты. Например, 16M
означает 16
мегабайт. Регистр буквы суффикса не имеет значения, 16M
и 16m
обозначают
одно и то же:
ansi_mode
. Имеет значениеON
, еслиmysqld
был запущен с параметром--ansi
. See Раздел 1.9.2, «Запуск MySQL в режиме ANSI».back_log
Количество поддерживаемых MySQL запросов на соединение, находящихся в очереди. Этот параметр начинает играть роль, когда главный поток MySQL получает очень много запросов на соединение за короткий промежуток времени. У главного потока уходит некоторое время (хотя очень небольшое) на проверку соединения и запуск нового потока. Значениеback_log
показывает, сколько запросов может находиться в очереди на этом коротком промежутке времени, прежде чем MySQL прекратит отвечать на новые запросы. Данное значение необходимо увеличить только в том случае, если ожидается большое количество соединений на протяжении короткого промежутка времени. Иначе говоря, это значение является размером очереди ожидания входящих соединений TCP/IP. У вашей операционной системы есть свое собственное ограничение на размер этой очереди. За более подробной информацией обращайтесь на страницу руководства ОС Unix по системному вызовуlisten(2)
. Чтобы узнать максимальное значение для этой переменной, обратитесь к документации по своей операционной системе. Попытка установить значениеback_log
выше, чем допускается в вашей операционной системе, не принесет положительного результата.basedir
Значение параметра--basedir
.bdb_cache_size
Буфер, выделенный для индекса кэша и строк таблицBDB
. Если таблицыBDB
не используются, необходимо запуститьmysqld
с параметром--skip-bdb
, чтобы не расходовать память на этот кэш.bdb_log_buffer_size
Буфер, выделенный для индекса кэша и строк таблицBDB
. Если таблицыBDB
не используются, его значение необходимо установить в 0 или запуститьmysqld
с параметром--skip-bdb
, чтобы не расходовать память на этот кэш.bdb_home
Значение параметра--bdb-home
.bdb_max_lock
Максимальное количество блокировок (по умолчанию 10000), которые можно установить на таблицуBDB
. Этот параметр необходимо увеличить, если возникают ошибки типаbdb: Lock table is out of available locks
илиGot error 12 from ...
при выполнении длинных транзакций или когдаmysqld
должен просмотреть много строк для вычисления запроса.bdb_logdir
Значение параметра--bdb-logdir
.bdb_shared_data
Содержит значениеON
, если используется параметр--bdb-shared-data
.bdb_tmpdir
Значение параметра--bdb-tmpdir
.binlog_cache_size
. Размер кэша для хранения операторов бинарного журнала SQL во время транзакции. Если часто используются большие транзакции со значительным количеством операторов, то в целях повышения производительности значение этого параметра можно увеличить. See Раздел 6.7.1, «Синтаксис командBEGIN/COMMIT/ROLLBACK
».-
bulk_insert_buffer_size
(былmyisam_bulk_insert_tree_size
) MyISAM использует специальный древо-подобный кэш чтобы ускорить многострочные вставки (которыеINSERT ... SELECT
,INSERT ... VALUES (...), (...), ...
, иLOAD DATA INFILE
). Эта переменная ограничивает размер такого кэша в каждом потоке (указывается в байтах). Установка в 0 запретит такую оптимизацию.Внимание:
этот кэш работает только тогда, когда делается вставка в непустую таблицу. Значение по умолчанию: 8 Мб. character_set
Принятый по умолчанию набор символов.character_sets
Поддерживаемые наборы символов.concurrent_inserts
Если установлено значениеON
(принятое по умолчанию), MySQL обеспечивает возможность использовать командуINSERT
на таблицахMyISAM
одновременно с выполнением над этими же таблицами запросовSELECT
. Этот параметр можно отключить, запустивmysqld
с параметром--safe
или--skip-new
.connect_timeout
Количество времени в секундах, на протяжении которого серверmysqld
ожидает поступления пакета соединения, после чего генерируетBad handshake
.datadir
Значение параметра--datadir
.-
delay_key_write
Опция для таблиц MyISAM. Может принимать одно из следующих значений:OFF Все CREATE TABLE ... DELAYED_KEY_WRITES игнорируются. ON (по умолчанию) MySQL будет учитывать опцию DELAY_KEY_WRITE
вCREATE TABLE
.ALL Все вновь открытые таблицы обслуживаются так, будто бы они были созданы с опцией DELAY_KEY_WRITE
.Если
DELAY_KEY_WRITE
включен, это означает что ключевой буфер для таблиц с этой опцией не будет сбрасываться на диск при каждом обновлении индексов, но только тогда, когда таблица закрывается. Это весьма ускорит записи ключей, но вы должны обязательно реализовать автоматическую проверку всех таких таблиц с помощьюmyisamchk --fast --force
если вы хотите использовать эту опцию. delay_key_write
Если включен (по умолчанию - включен), MySQL будет учитывать параметрDELAY_KEY_WRITE
для командыCREATE
TABLE. Это означает, что ключевой буфер таблиц с данным параметром будет сбрасываться на диск не при каждом обновлении индексов, а только при закрытии таблицы. Такой режим работы значительно ускоряет запись ключей, однако в случае использования данного параметра необходимо будет также добавить автоматическую проверку всех таблиц при помощиmyisamchk --fast --force
. Обратите внимание: если запуститьmysqld
с параметром--delay-key-write-for-all-tables
, то все таблицы будут обрабатываться таким образом, как будто они были созданы с применением параметраdelay_key_write
. Этот флаг можно снять, запустивmysqld
с параметром--skip-new
или--safe-mode
.delayed_insert_limit
После вставки строкdelayed_insert_limit
обработчикINSERT DELAYED
проверит, остались ли незавершенные операторыSELECT
. Если да, то перед тем, как приступить к выполнению следующих действий, они будут выполнены.delayed_insert_timeout
Временной промежуток, в течение которого процессINSERT DELAYED
должен ожидать операторовINSERT
до прекращения выполнения задачи.delayed_queue_size
Размер очереди (в строках), который должен быть назначен для обработки командыINSERT DELAYED
. При переполнении очереди все клиенты, выполняющие командуINSERT DELAYED
, будут ожидать, пока в очереди снова появится свободное место.flush
Значение этой переменной будетON
, если вы запустили MySQL с параметром--flush
.flush_time
Если значение этой переменной отличается от нуля, то каждыеflush_time
секунд все таблицы будут закрываться (чтобы освободить ресурсы и записать информацию на диск). Мы рекомендуем использовать этот параметр только для Windows 9x/Me или на системах с ограниченным количеством ресурсов.ft_boolean_syntax
Список операторов, поддерживаемыхMATCH ... AGAINST(... IN BOOLEAN MODE)
. See Раздел 6.8, «Полнотекстовый поиск в MySQL».ft_min_word_len
Минимальная длина слова, включаемого в индексFULLTEXT
. Примечание: индексыFULLTEXT
после изменения этой переменной должны быть скомпонованы заново (это новый параметр в MySQL 4.0).ft_max_word_len
Максимальная длина слова, включаемого в индексFULLTEXT
. Примечание: индексыFULLTEXT
после изменения этой переменной должны быть скомпонованы заново (это новый параметр в MySQL 4.0).ft_max_word_len_for_sort
Максимальная длина слова в индексеFULLTEXT
; эта длина будет использоваться для метода быстрого восстановления индекса в командахREPAIR
,CREATE INDEX
илиALTER
TABLE. Более длинные слова вставляются дольше. При увеличении значенияft_max_word_len_for_sort
MySQL будет создавать временные файлы большего размера (таким образом будет замедляться работа из-за возрастания нагрузки на порт ввода/вывода диска), а также будет помещать меньше ключей в один блок сортировки (что, опять же, способствует снижению производительности). Если значение переменнойft_max_word_len_for_sort
слишком мало, MySQL будет вставлять большое количество слов достаточно медленно, но короткие слова будут вставляться очень быстро.-
ft_stopword_file
Из этого файла читается список стоп-слов для полнотекстового поиска. Все слова из этого файла будут использованы, комментарии в этом файле недопустимы. По умолчанию используется встроенный список стоп-слов (определен в файлеmyisam/ft_static.c
). Установка этого параметра в пустое значение (""
) выключает фильтрацию по стоп-словам.Внимание:
FULLTEXT
индексы должны быть перестроены после того, как эта переменная изменена. (Эта опция нова в MySQL 4.0.10) have_innodb
ЗначениеYES
, еслиmysqld
поддерживает таблицыInnoDB
. ЗначениеDISABLED
, если используется параметр--skip-innodb
.have_bdb
ЗначениеYES
, еслиmysqld
поддерживает таблицыBerkeley DB
. ЗначениеDISABLED
, если используется параметр--skip-bdb
.have_raid
ЗначениеYES
, еслиmysqld
поддерживает параметрRAID
.have_openssl
ЗначениеYES
, еслиmysqld
поддерживает SSL (шифрование) в протоколе клиент/сервер.init_file
Имя файла, указанного при помощи параметра--init-file
при запуске сервера. Это файл операторов SQL, которые сервер должен выполнить при запуске.interactive_timeout
Количество времени в секундах, на протяжении которого сервер ожидает активности со стороны интерактивного соединения, прежде чем закрыть его. Интерактивный клиент - это клиент, который использует параметрCLIENT_INTERACTIVE
дляmysql_real_connect
(). См. также информацию поwait_timeout
.-
join_buffer_size
Размер буфера, используемого для полных объединений (объединения, в которых не применяются индексы). Буфер выделяется один раз для каждого полного объединения двух таблиц. Если нужно ускорить полное объединение и невозможно добавить индексы, следует увеличить это значение (обычно добавление индексов является лучшим способом добиться быстрых объединений). key_buffer_size
Блоки индексов буферизированы и доступ к ним разрешен всем потокам.key_buffer_size
- размер буфера, используемого для блоков индексов. Чтобы улучшить обработку индексов (для всех операций чтения и записи нескольких элементов), необходимо увеличить это значение настолько, насколько возможно. Размер 64 Мб для компьютера с 256 Мб (именно такой компьютер в основном используется для работы с MySQL) - довольно распространенная конфигурация. Тем не менее, если задать слишком большое значение (например, больше 50% от общего количества памяти), система может начать сохранять временные файлы на диске, что значительно снизит производительность. Помните, что, поскольку MySQL не производит кэширования считываемых данных, нужно оставлять определенное пространство для кэша файловой системы операционной системы. Производительность буфера ключей можно проверить, выполнив командуSHOW STATUS
и проверив значения переменныхKey_read_requests
,Key_reads
,Key_write_requests
иKey_writes
. Отношение значенийKey_reads
/Key_read_request
обычно должно быть < 0,01. ОтношениеKey_write
/Key_write_requests
примерно равно 1, если в основном используются обновления/удаления, но может быть и меньше, если чаще используются обновления сразу многих элементов или еслиDELAY_KEY_WRITE
. See Раздел 4.5.6, «Синтаксис командыSHOW
». Чтобы еще больше увеличить скорость при одновременной записи большого количества строк, используйте командуLOCK TABLES
. See Раздел 6.7.2, «Синтаксис командLOCK TABLES/UNLOCK TABLES
».language
Язык, используемый для вывода сообщений об ошибках.large_file_support
Еслиmysqld
был откомпилирован с параметрами для поддержки больших файлов.locked_in_memory
Еслиmysqld
был заблокирован в памяти при помощи--memlock
log
Если включено занесение в журнал всех запросов.log_update
Если включен журнал обновлений.log_bin
Если включен бинарный журнал.log_slave_updates
Если обновления от подчиненного компьютера должны заноситься в журнал.long_query_time
Если обработка запроса отнимает больше указанного промежутка времени (в секундах), значение счетчикаSlow_queries
будет увеличено. Если используется параметр--log-slow-queries
, запрос будет записан в журнал медленных запросов. Это значение указывается в единицах реального времени, а не времени занятости процессора (CPU time). Таким образом, некий запрос, который выполняется быстрее указываемого времени на слегка загруженном сервере может выполняться больше указанного времени на более загруженном компьютере. See Раздел 4.9.5, «Журнал медленных запросов».lower_case_table_names
Если установлено значение 1, имена таблиц будут сохранятся на диск с использованием строчных букв, а имена таблиц не будут чувствительны к регистру. С версии MySQL 4.0.2 это также касается и имен баз данных. See Раздел 6.1.3, «Чувствительность имен к регистру».max_allowed_packet
Максимальный размер одного пакета. Изначально размер буфера сообщений устанавливается вnet_buffer_length
байтов, но при необходимости может возрасти доmax_allowed_packet
байтов. Это значение по умолчанию не настолько велико, чтобы отсеивать большие (возможно ошибочные) пакеты. Если используются большие столбцыBLOB
, его необходимо увеличить. Значение должно быть не меньше самого большогоBLOB
, который будет использоваться. Ограничение протокола дляmax_allowed_packet
составляет 16 Мб в MySQL 3.23 и 1Гб в MySQL 4.0.max_binlog_cache_size
Если для транзакции с большим количеством операторов потребуется большее количество памяти, чем указано этим параметром, будет выдано сообщение об ошибке "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage" (для транзакции с большим количеством операторов требуется больше, чем 'max_binlog_cache_size' байтов для хранения).max_binlog_size
Доступно после версии 3.23.33. Если запись в бинарный журнал (репликация) превысит данное значение, производится ротация журнала. Нельзя установить значение, меньшее, чем 1024 байта или большее, чем 1 Гб. По умолчанию установлено значение 1 Гб.max_connections
Разрешенное количество одновременно подсоединенных клиентов. Увеличение этого значения увеличивает количество дескрипторов файлов, необходимых дляmysqld
. Ниже приведены примечания по ограничениям для дескрипторов. See Раздел A.2.5, «ОшибкаToo many connections
».max_connect_errors
Если количество прерванных соединений с удаленным компьютером превышает это число, дальнейшие попытки удаленного компьютера установить соединение будут заблокированы. Блокировку с удаленного компьютера можно снять при помощи командыFLUSH HOSTS
.max_delayed_threads
Не запускайте больше потоков, чем указано здесь, для обработки операторовINSERT DELAYED
. Если попытаться вставить данные в новую таблицу, когда все потокиINSERT DELAYED
заняты, строка будет вставлена таким образом, как будто атрибутDELAYED
не был указан.max_heap_table_size
Не позволяет создавать динамические таблицы, размер которых превышает указанное значение.max_join_size
Объединения, которые потенциально могут считывать болееmax_join_size
записей, будут возвращать ошибку. Это значение нужно задавать, если ваши пользователи осуществляют объединения, которым недостает оператораWHERE
, - такие объединения занимают много времени, а затем возвращают миллионы строк.max_sort_length
Параметр определяет, сколько байтов следует использовать при сортировке значенийBLOB
илиTEXT
(обрабатываются только первыеmax_sort_length
байтов каждого значения, остальные игнорируются).max_user_connections
Максимальное количество активных соединений для одного пользователя (0 = без ограничений).max_tmp_tables
(Этот параметр пока ни на что не влияет.) Максимальное количество временных таблиц, которые клиент может открывать одновременно.max_write_lock_count
После данного количества блокирования записей разрешается выполнить между ними несколько блокировок чтения.myisam_recover_options
Значение параметра--myisam-recover
.myisam_sort_buffer_size
Буфер, который выделяется для сортировки индексов при выполнении командыREPAIR
или для создания индексов при помощи командCREATE INDEX
илиALTER TABLE
.myisam_max_extra_sort_file_size
. Если размер временного файла, используемого для быстрого создания индексов, превышает на указанный здесь объем используемый кэш ключей, то лучше отдать предпочтение методу кэша ключей. Такой метод применяется для того, чтобы для больших ключей символов в больших таблицах использовался более медленный метод кэширования ключей при создании таблиц. Обратите внимание: значение этого параметра в байтах, начиная с 4.0.3 (до 4.0.3 параметр указывался в мегабайтах).myisam_max_sort_file_size
Максимальный размер временного файла, который в MySQL может использоваться при восстановлении индекса (во время работы командREPAIR
,ALTER TABLE
илиLOAD DATA INFILE
). Для файлов, размер которых превышает указанное значение, индекс будет создаваться при помощи кэша ключей (такой алгоритм работает несколько медленнее). Обратите внимание: значение этого параметра в байтах, начиная с 4.0.3 (до 4.0.3 параметр указывался в мегабайтах).net_buffer_length
В данное значение устанавливается в промежутках между запросами буфер соединения. Обычно это значение не изменяется, но если у вас очень мало памяти, можно установить его по размеру ожидаемого запроса (т.е. равным предполагаемой длине операторов SQL, отправляемых клиентами; если оператор превысит указанную длину, буфер будет автоматически увеличен как максимум доmax_allowed_packet
байтов).net_read_timeout
Количество времени в секундах, на протяжении которого ожидаются дополнительные данные от соединения, пока не будет отменено чтение. Обратите внимание, что мы не ожидаем поступления данных от соединения, время ожидания определяется поwrite_timeout
. Также см.slave_net_timeout
.net_retry_count
Если чтение из порта связи было прервано, будет предпринято указанное количество попыток повторного чтения. Это значение должно быть достаточно высоким наFreeBSD
, так как внутренние прерывания направляются на все потоки.net_write_timeout
Время ожидания записи блока через соединение, пока запись не будет прервана (в секундах).open_files_limit
Если это значение отлично от 0, тоmysqld
будет применять его для резервных дескрипторов файлов, используемых сsetrlimit()
. Если это значение равно 0, тоmysqld
будет резервироватьmax_connections*5
илиmax_connections + table_cache*2
(в зависимости от того, какое число больше) файлов. Еслиmysqld
выдает ошибку 'Too many open files' (слишком много открытых файлов), данное значение необходимо увеличить.pid_file
Значение параметра--pid-file
.port
Значение параметра--port
.protocol_version
Версия протокола, используемого сервером MySQL.read_buffer_size
(былоrecord_buffer
) Каждый поток, осуществляющий последовательное сканирование, выделяет буфер указанного размера для каждой сканируемой таблицы. Если проводится много последовательных сканирований, это значение можно увеличить.record_rnd_buffer_size
При считывании строк после проведения сортировки в отсортированном порядке строки считываются через буфер, чтобы избежать операций поиска по диску. Это может улучшить выполнениеORDER BY
весьма и весьма, если параметр установлен в большое значение. Т.к. эта переменная имеет отношение к потоку, то не устанавливайте слишком большое значение глобально, но просто меняйте его при выполнении некоторых больших запросов.query_cache_limit
Результаты, превышающие это значение, не кэшируются (по умолчанию - 1Мб).query_cache_size
Память, выделенная для хранения результатов старых запросов. Если значение установлено в 0, кэш запросов отключен (принято по умолчанию).-
query_cache_type
Могут быть заданы следующие значения (только числовые):Значение Объяснение Примечание 0 OFF Не кэширует и не извлекает результаты. 1 ON Кэширует все результаты, кроме запросов SELECT SQL_NO_CACHE ...
.2 DEMAND Кэширует только запросы SELECT SQL_CACHE ...
. safe_show_database
Не отображаются базы данных, для которых у пользователя нет каких-либо привилегий по базам данных или таблицам. Таким образом можно увеличить степень безопасности, если вы не хотите предоставлять посторонним лицам возможность получать информацию о том, какие базы данных есть у других пользователей. Также см.skip_show_database
.server_id
Значение параметра--server-id
.skip_locking
Установлено в значениеOFF
, еслиmysqld
использует внешнюю блокировку.skip_networking
Установлено в значениеON
, если разрешаются только локальные соединения (через сокет).skip_show_database
Эта переменная не позволяет выполнять командуSHOW DATABASES
, если у пользователя нет привилегииPROCESS
. Таким образом можно увеличить степень безопасности, если вы не хотите предоставлять посторонним лицам возможность получать информацию о том, какие базы данных есть у других пользователей. Также см.safe_show_database
.slave_net_timeout
Количество времени в секундах, в течение которого ожидаются дополнительные данные от подсоединенного головного или подчиненного компьютера прежде, чем будет отменено чтение.slow_launch_time
Если создание потока занимает больше, чем указанное значение (в секундах), значение счетчикаSlow_launch_threads
будет увеличено.socket
Сокет Unix, используемый сервером.sort_buffer_size
Каждый поток, которому необходимо произвести сортировку, выделяет буфер данного размера. Увеличение данного значения позволит ускорить выполнение операторовORDER BY
илиGROUP BY
. See Раздел A.4.4, «Где MySQL хранит временные файлы».table_cache
Количество открытых таблиц для всех потоков. С увеличением этого значения увеличивается количество дескрипторов файлов, необходимых дляmysqld
. Чтобы узнать, необходимо ли изменять значение кэша таблиц, следует проверить значение переменнойOpened_tables
. См. раздел See Раздел A.4.4, «Где MySQL хранит временные файлы». Если у этой переменной большое значение, а командаFLUSH TABLES
(которая закрывает все таблицы, а потом открывает их повторно) используется не часто, то необходимо увеличить ее значение. Чтобы получить дополнительную информацию по кэшу таблиц, см. раздел See Раздел 5.4.7, «Открытие и закрытие таблиц в MySQL».table_type
Принятый по умолчанию тип таблиц.thread_cache_size
Определяет, сколько потоков должно сохраняться в кэше для повторного использования. После отключения клиента потоки клиента помещаются в кэш, если там не больше потоков, чемthread_cache_size
. Все новые потоки сначала берутся из кэша, и только когда кэш становится пустым, создаются новые потоки. Значение этой переменной можно увеличить, чтобы повысить производительность, если создается много новых соединений (если потоки у вас хорошо организованы, обычно заметного улучшения производительности не наблюдается). Насколько эффективен текущий кэш потоков, можно определить по разнице междуConnections
иThreads_created
.thread_concurrency
В системе Solarismysqld
вызывает функциюthr_setconcurrency()
с этим значением.thr_setconcurrency()
позволяет приложению дать системе потоков подсказку по необходимому количеству потоков, которые должны быть запущены в одно и то же время.thread_stack
Размер стека для каждого потока. От данного значения зависит большое количество ограничений, обнаруживаемых при помощи тестаcrash
-me. По умолчанию этот размер достаточен для нормальной работы. See Раздел 5.1.4, «Набор тестов MySQL (The MySQL Benchmark Suite)».timezone
Часовой пояс, в котором находится сервер.tmp_table_size
Если находящаяся в памяти временная таблица превысит этот размер, MySQL автоматически преобразует ее в дисковую таблицуMyISAM
. Значениеtmp_table_size
следует увеличить, если выполняется много расширенных запросовGROUP BY
и в вашей системе установлено значительное количество оперативной памяти.tmpdir
Каталог, используемый для временных файлов и временных таблиц. Начиная с MySQL 4.1, вtmpdir
могут быть указаны несколько путей, разделенных двоеточием:
(точкой с запятой на Windows;
). Эти пути будут использованы в ротации.version
Номер версии сервера.-
wait_timeout
Время в секундах, на протяжении которого сервер наблюдает неактивность в неинтерактивном соединения прежде, чем закрыть его. Когда запускается поток,SESSION.WAIT_TIMEOUT
инициализируется исходя изGLOBAL.WAIT_TIMEOUT
илиGLOBAL.INTERACTIVE_TIMEOUT
, в зависимости от типа клиента (как определяется вCLIENT_INTERACTIVE
опции соединения).См. также
interactive_timeout
.
Раздел руководства, в котором описывается настройка MySQL содержит некоторую информацию по настройке приведенных выше переменных. See Раздел 5.5.2, «Настройка параметров сервера».