Идеальный конфиг mysql

У меня в свое время после нескольких дней оптимизации по каждому параметру для MyISAM на средненагруженном сервере в итоге вышел такой конфиг (по возможности убрано всё лишнее и оставлены лишь необходимые мне настройки):

[mysqld]
default-storage-engine=MyISAM
innodb=OFF
skip-symbolic-links
skip-networking
skip-name-resolve
skip-federated
bind-address = 127.0.0.1
max_connect_errors = 1K
max_join_size=200M
max_allowed_packet=16M
key_buffer_size=128M
query_cache_size = 256M
max_heap_table_size=256M
tmp_table_size=256M
max_connections = 160
thread_cache_size = 160
read_buffer_size = 128K
read_rnd_buffer_size = 256K
join_buffer_size = 256K
sort_buffer_size = 128K
myisam_sort_buffer_size = 512M
table_open_cache = 1K
interactive_timeout = 60
wait_timeout = 60
connect_timeout =20
character-set-server=utf8
collation-server=utf8_general_ci
log_slow_queries = 1
slow_query_log_file = /var/log/mysql-bin.log
long_query_time = 4

Подробности: 1) Ставим MyISAM по умолчанию и отключаем ненужные нам вещи: default-storage-engine=MyISAM innodb=OFF skip-symbolic-links skip-networking skip-name-resolve skip-federated
2) Привязываем базу для использования только на нашем сервере: bind-address = 127.0.0.1
3) Выставляем необходимые максимальные ограничения: maxconnecterrors = 1K maxjoinsize=200M maxallowedpacket=16M
4) Устанавливаем общий буфер, кэш для запросов и max размер для временных таблиц: keybuffersize=128M querycachesize = 256M maxheaptablesize=256M tmptable_size=256M
5) Максимальное число соединений к базе и ожидающих их процессов: maxconnections = 160 threadcache_size = 160
6) Буферы на каждый процесс (большие значения типа 1Mb и выше для нас это явно перебор). readbuffersize = 128K readrndbuffersize = 256K joinbuffersize = 256K sortbuffer_size = 128K
7) Служебный сортировочный буфер (память постоянно не занимает) и кэш открытых таблиц. myisamsortbuffersize = 512M tableopen_cache = 1K
8) Необходимые таймауты, чтобы отсекать долгие ожидания. interactivetimeout = 60 waittimeout = 60 connect_timeout =20
9) Установка кодировки UTF8: character-set-server=utf8 collation-server=utf8generalci
10) По желанию можно добавить логи медленных запросов или неиспользуемых индексов (создайте доступным на запись файл для лога). logslowqueries = 1 slowquerylogfile = /var/log/mysql-bin.log longquery_time = 4 log-queries-not-using-indexes
Быстрой Вам базы данных!

Обновлено: 28/01/2015 — 21:48

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *