Настройка и оптимизация MySQL сервера

В этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.

Итак, в 4 версии у ряда переменных появилось окончание _size. Это касается переменной thread_cache_size и переменных из раздела Буферы. А переменная read_buffer_size до версии 4 называлась record_buffer. Также переменная skip_external_locking из раздела Базовые настройки до версии 4 называлась skip_locking.
Переменные делятся на две основных категории: переменные со значениями и переменные-флаги. Переменные со значениями записываются в конфигурационном файле в виде variable = value, а переменные-флаги просто указываются. Также вы наверное заметили, что в некоторых случаях в названиях переменных используется "-", а в некоторых "_". Переменные с дефисом являются стартовыми опциями сервера и их нельзя изменить при работе сервера (при помощи SET); переменные с подчеркиванием являются опциями работы сервера и их возможно изменять на лету. Если речь идет о «переменной состояния» или рекомендуется наблюдать за значением переменной, название которой записано в виде Variable_Name, то следует выполнять запрос SHOW STATUS LIKE "Variable_Name" для получения значения этой переменной, либо заглянуть на вкладку состояние в phpMyAdmin, где дополнительно будут комментарии по значению этой переменной.

Продолжить чтение

Вы должны войти, чтобы отправлять комментарии на этот сайт - пожалуйста, либо войдите, либо - если вы еще не зарегистрированы - [щелкните] здесь , чтобы зарегистрироваться