Поговорим о конфиг файле MySQL сервера: /etc/my.cnf
Файл разделяется на секции, названия которых пишутся в квадратных скобках, например: [mysqld] — это, кстати, самая важная секция, которую обязательно нужно настраивать под свой проект(ы).
Про настройку кодировки в MySQL я уже писал, рассмотрим другие возможные параметры.
Вот типичный пример конфига с одного из серверов с 2G Ram:
Авторские права на представленный материал принадлежат администрации сайта http://chesser.ru, при копировании контента ссылка на источник обязательна.
разбиру каждую строку позже, сейчас лень и времени нет
Max_Memory = query_cache_size + innodb_buffer_pool_size + innodb_additional_mem_pool_size + key_buffer_size + innodb_log_buffer_size
+ max_connections * (max_allowed_packet + sort_buffer_size + net_buffer_length + thread_stack + read_rnd_buffer_size + read_buffer_size + join_buffer_size)
http://www.mysqlcalculator.com/ — тоже самое, но без парсера конфига
Чем больше разрешили открывать одновременно файлов, тем больше памяти на это дело нужно, поэтому злоупотреблять этим не следует. Для применения настройки нужен ребут.
http://smartcj.com/wiki/doku.php?id=ru:mysql_tunning
myisam + my.cnf
Файл разделяется на секции, названия которых пишутся в квадратных скобках, например: [mysqld] — это, кстати, самая важная секция, которую обязательно нужно настраивать под свой проект(ы).
Про настройку кодировки в MySQL я уже писал, рассмотрим другие возможные параметры.
Вот типичный пример конфига с одного из серверов с 2G Ram:
[mysqld]
datadir=/data/your_mysql_dir
character-set-server=utf8
collation-server=utf8_general_ci
init-connect="SET NAMES utf8"
skip-innodb
default-storage-engine=myisam
local-infile=0
max_connections=200
open_files_limit=10000
key_buffer_size=64M
key_cache_division_limit=70
join_buffer_size=500k
read_rnd_buffer_size=2M
read_buffer_size=500k
sort_buffer_size=2M
tmp_table_size=64M
max_heap_table_size=64M
max_tmp_tables=1024
table_cache=1024
query_cache_size=64M
query_cache_limit=1M
low-priority-updates=1
myisam_sort_buffer_size=200M
# ниже логи закоменченные
#log_slow_queries=/var/log/mysql_low.log
#long_query_time=2
[client]
default-character-set=utf8
Авторские права на представленный материал принадлежат администрации сайта http://chesser.ru, при копировании контента ссылка на источник обязательна.
разбиру каждую строку позже, сейчас лень и времени нет

Сколько памяти потребляет mysql?
Суммарная потребляемая память mysql складывается из общей памяти для всех коннектов и отдельной памяти для каждого коннекта, умноженное на кол-во коннектов:Max_Memory = query_cache_size + innodb_buffer_pool_size + innodb_additional_mem_pool_size + key_buffer_size + innodb_log_buffer_size
+ max_connections * (max_allowed_packet + sort_buffer_size + net_buffer_length + thread_stack + read_rnd_buffer_size + read_buffer_size + join_buffer_size)
Калькулятор для подсчета потребляемой памяти mysql
http://www.omh.cc/mycnf/ — туда нужно передать содержимое своего /etc/my.conf и на выходе получим расчет памяти mysqlhttp://www.mysqlcalculator.com/ — тоже самое, но без парсера конфига
Ограничение одновременно открытых файлов в системе
При большом количестве БД(и таблиц) и большом количестве коннектов к БД может понадобиться поднять лимит одновременно открытых файлов. При работе с таблицами баз данных mysql держит открытыми несколько файлов для каждой таблицы, поэтому иногда нужно увеличивать этот лимит, особенно когда требуется повышать настройку max_connectionsПросмотр настройки open files
bash-3.2# ulimit -n
Изменение настройки лимита open files
Открываем файл /etc/security/limits.conf и приписываем в конце:mysql soft nofile 8192 mysql hard nofile 63536либо вместо mysql можно вписать * — тогда это изменение будет работать для всех юзеров.
Чем больше разрешили открывать одновременно файлов, тем больше памяти на это дело нужно, поэтому злоупотреблять этим не следует. Для применения настройки нужен ребут.
Другие ресурсы по настройке mysql
http://mysyslog.ru/posts/223http://smartcj.com/wiki/doku.php?id=ru:mysql_tunning
myisam + my.cnf
Комментариев нет:
Отправить комментарий