-
Notifications
You must be signed in to change notification settings - Fork 24
[MySQL] Тонкя настройка MySQL
fantomrp edited this page Nov 23, 2012
·
4 revisions
Статьи:
- Настройка MYSQL под Linux - отличная статья по основам
- Что нужно настроить в mySQL сразу после установки - статья на хабре
Настройки /etc/my.cnf
(из статьи на харе)
[mysqld]
; 30-40% от доступной оперативной памяти, если используете только MyISAM, если нет MyISAM то около 16-32 МБ
key_buffer_size = 64M
; 70-80% доступной оперативной памяти (если, конечно, используются только InnoDB-таблицы)
innodb_buffer_pool_size = 1024M
; не влияет на производительность, но надо оставлять для InnoDB около 20 МБ иби чуть больше
innodb_additional_mem_pool_size = 40M
; крайне важная настройка, значение около 64-512 МБ в зависимости от размера сервера
innodb_log_file_size = 128M
; стандартное значение данной опции вполне подойдёт, Рекомендуемое значение - около 8-16 МБ
innodb_log_buffer_size = 32M
; Значение 1 - (по умолчанию) каждая UPDATE-транзакция должна сбрасывать буфер на диск, что достаточно ресурсоёмко.
; значение 2 - не сбрасывать буфер на диск, только в кэш ОС
; Значение 0 - повысит производительность, но Вы рискуете потерять данные даже при аварийной остановке mySQL-сервера
innodb_flush_log_at_trx_commit = 2
; Если у Вас несколько сотен таблиц, то стартовым значением для опции table_cache может быть '1024' (помните, что каждое соединение требует свой собственный дескриптор).
table_cache = 1024
; 16-500 - подробее тут http://habrahabr.ru/post/159085/ для большой нагрузки лучше побольшое
thread_cache_size = 64
; опция важна если имеется много и часто одинаковых запросов на чтение. Рекомендуемое значение - от 32 до 512 МБ.
query_cache_size = 64
query_cache_limit = 1024M
; Для больших запросов
max_allowed_packet = 16M
После изменения опций innodb_buffer_pool_size
и innodb_log_file_size
mysql может не стартануть, поэтому надо сделать:
service mysql stop
rm -f /var/lib/mysql/ib_logfile*
service mysql start
Рестарт сервера
/etc/init.d/mysqld restart
service mysql restart
Найти шаблоны конфигураций
find . -name 'my*.cnf'