Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languageruby
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
 
[client]
# Кодировка по-умолчанию при подключении консольным клиентом и mysqldump
default-character-set = utf8mb4

[mysqld]
# Кодировка сервера
character-set-client-handshake = FALSE
character-set-server = utf8mb4 
collation-server = utf8mb4_unicode_ci

# Интерфейс, на котором будет открыт порт
#bind-address = 127.0.0.1

# Каталог для хранения БД, высокие требования по надёжности и скорости
#datadir = /var/lib/mysql
# каталог для хранения временных файлов, желательно чтобы это был tmpfs
#tmpdir = /tmp
#log-error = /var/lib/mysql/mysqld.log
# PID файл процесса
#pid-file = /var/run/mysqld/mysqld.pid
# Логирование запросов, выполняющихся длительное время
#log-slow-queries = /var/log/slowquery.log
#long_query_time = 1

# Ограничение на максимальное число соединений с БД
max_connections = 1000

# Тип хранилища таблиц по-умолчанию
default-storage-engine = InnoDB
 
# Режим разбора SQL-запросов
sql_mode =

# Отключаем DNS резолвинг для устанавливаемых соединений
skip-name-resolve

# Максимальный размер пакета с запросом, принимаемого сервером
max_allowed_packet = 64M

# Для каждой таблицы InnoDB - отдельный файл
innodb_file_per_table=1

# Путь к каталогу под журнал транзакций, можно вынести на отдельный диск
#innodb_log_group_home_dir = 

# Размер главного буфера InnoDB, он должен составлять порядка 70-80% от RAM сервера для выделенного сервера БД.
# Если же на сервере присутствуют другие приложения - то с учетом того, чтобы хватило памяти всем.
innodb_buffer_pool_size = 512M

# Размер каждого файла журнала в группе журналов (указывается в мегабайтах),
# рекомендуемое значение - 25% от innodb_buffer_pool_size, но в пределах 64M-512M
innodb_log_file_size = 128M
# кол-во файлов в группе журналов
innodb_log_files_in_group = 2
innodb_log_buffer_size = 16M

# Вызов sync диска не на каждой транзакции, а раз в секунду - ускорение работы, меньше зависимость от скорости диска
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT

# Число одновременно работающих потоков InnoDB, рекомендуемые границы: 16 - 256
innodb_thread_concurrency = 128 

# Время ожидания прекращения блокировки (записи) прежде чем будет произведен откат транзакции
innodb_lock_wait_timeout = 120

# Максимальное кол-во одновременно открытых таблиц
table_open_cache = 1024

# Максимальный размер временной таблицы, которая будет расположена в RAM
max_heap_table_size = 64M
tmp_table_size = 64M

# Буферы на каждый поток
read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 8M
key_buffer_size = 32M

# Размер кэша запросов
query_cache_size = 64M
# максимальный раз, при котором результат запроса будет помещен в кэш
query_cache_limit = 4M

bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 64M

# требуется явное указание для mysql >= 8, при использовании кода с LOAD DATA LOCAL INFILE (например: даталоадер phone)
# в таком случае в data.properties нужно добавить &allowLoadLocalInfile=true в коннекшен
local_infile=ON

[mysqldump]
# Маскимально возможный размера пакета при снятии дампов утилитой mysqldump
max_allowed_packet = 64M

[mysqld_safe]
# Лимит количества открытых файлов (в дополнение к лимиту ОС)
open-files-limit = 4096

...