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 В системе
Solaris mysqld вызывает
функцию 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, «Настройка параметров сервера».
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
