Назад | Перейти на главную страницу

Как установить query_cache_size и join_buffer_size в файле my.cnf?

Я наблюдал за своим сервером последние два дня и понял, что 60% моих временных таблиц хранятся на жестком диске, а не в памяти. Также я запустил сценарий MySQL Performance Tuning Primer, который посоветовал мне установить query_cache_size.

Теперь, чтобы сделать это, я считаю, что мне нужно будет установить query_cache_size и join_buffer_size в my.cnf

К сожалению, у меня нет опыта редактирования файла my.cnf, поэтому я надеюсь, что кто-нибудь любезно мне поможет. Как я установил это, и какие я должен установить это?

my.cnf в настоящее время:

[mysqld]
set-variable = max_connections=500
safe-show-database
log_slow_queries = /var/log/mysql/log-slow-queries.log
slow_query_log = 1
long_query_time = 2
log-queries-not-using-indexes

Возможные значения (и другая информация) для конфигурации доступны в Справочное руководство по MySQL. Так, например, если бы я хотел добавить два указанных вами параметра, ваш /etc/my.cnf config будет напоминать следующее:

[mysqld]
set-variable = max_connections=500
safe-show-database
log_slow_queries = /var/log/mysql/log-slow-queries.log
slow_query_log = 1
long_query_time = 2
log-queries-not-using-indexes

# (default: 0)
thread_cache_size = 4
# Replaces table_cache in 5.1.3 (default: 64)
table_open_cache = 128
# (default: 0), disables cache
query_cache_size = 8388608

Два значения, которые я использовал, были значениями по умолчанию, которые MySQL использует, если они не указаны. Обязательно укажите здесь свои значения!

ОБНОВЛЕНИЕ: в технических ресурсах MySQL также есть отличная статья о понимание кеша.