1 декабря 2011 г.

Конфигурация MySql

Опишем файл конфигурации  my.cnf  сервера базы данных MySql. Как известно настройка сервера жизненно необходима т.к. от этого зависит его производительность и защищенность.

Пример рабочей конфигурации сервера my.cnf

- query_cache_size  задает кеш sql запросов. Если запросы идут одинаковые, то они помещаются в кеш и сервер выдает ответ без обращения к таблицам БД. Существенно ускоряет работу.

- innodb_buffer_pool_size -  буфер для таблиц innodb, закрываем его, если не используем  эти таблицы, т.к. сьедает много оперативки. С конфигом по умолчанию процесс mysqld занимал около 400М. Все буфера  innodb тоже уменьшаем.  

- bind-address - адрес, на котором сидит mysql, если сервер не нужен быть доступным из вне, то поставить   127.0.0.1, чтобы закрыть лишнюю дыру.  

- max_connections - максимальное количество одновременных соединений с сервером, рассчитывается исходя из количества свободной оперативной памяти. Нельзя ставить больше, чем позволяет память, т.к. сервер могут "положить", искусственно создав кучу запросов.  Один хороший человек создал экселевскую табличку, которой можно рассчитать  max_connections.

Остальные параметры, такие как sort_buffer_size, буфер индексов key_buffer_size и др. в конфигурации по умолчанию обычно удовлетворяют. Однако почитать документацию всегда полезно.

[mysqld]
bind-address=127.0.0.1
query_cache_size = 32M
max_connections = 30
innodb_buffer_pool_size=0M
innodb_log_buffer_size=1M
innodb_additional_mem_pool_size=1M

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid



С такой конфигурацией MySql 5.5.9 сервер занимает 225М оперативной памяти.

Комментариев нет:

Отправить комментарий