Назад | Перейти на главную страницу

Увеличьте размер буферного пула InnoDB

Мне трудно установить размер буферного пула и размер файла журнала для MySql InnoDB. Я далек от эксперта MySql, но читал вокруг, и мне кажется, что для изменения этого я просто добавляю эти строки в свой /etc/mysql/my.cnf

# Set buffer pool size to 50-80% of your computer's memory
innodb_buffer_pool_size=2048M
innodb_additional_mem_pool_size=512M
#
# Set the log file size to about 25% of the buffer pool size
innodb_log_file_size=256M
innodb_log_buffer_size=128M

На сервере около 7 ГБ памяти, а также работает веб-сервер, поэтому я думаю, что эти цифры должны быть хорошей отправной точкой. Однако после сохранения и перезапуска сервера изменения не вступили в силу. Я попытался запустить Mysqltuner, который сообщил, что буферный пул все еще составляет 16,0 МБ. Есть идеи, что я делаю неправильно? Дайте мне знать, если вы хотите увидеть больше конфигурационного файла. Спасибо!

Убедитесь, что эти строки находятся внутри [mysqld] раздел, т.е. после [mysqld] но перед любым другим [section] Такие как [mysqldump].

Для получения информации проверьте журнал ошибок MySQL - скорее всего, он находится в /var/lib/mysql - также, это 32-битная система с ядром bigmem? В таком случае вы не можете адресовать MySQL более 2 ГБ.

Кроме того - вы захотите получить подтверждение от самого MySQL о размере буферного пула - 16 МБ звучит немного не так, учитывая дефолт составляет 128M. Вы можете подтвердить это, набрав «ПОКАЗАТЬ ПЕРЕМЕННЫЕ LIKE» innodb_buffer_pool_size в сеансе MySQL для этого сервера. Результат в байтах.

В моем случае проблема была innodb_buffer_pool_instances.

Поскольку я сокращал innodb_buffer_pool_size, он стал меньше одного 1 ГБ на экземпляр, поэтому в итоге его округлили.

Когда я также уменьшил экземпляры, это наконец изменило размер бассейна!

Возможно, вы запускаете mysql с помощью --no-defaults или (-no-defaults), что заставляет его вообще не загружать конфигурацию. Также есть --defaults-file (или -default-file, не уверен), который заставляет его загружать определенную конфигурацию. Также проверьте, не относится ли это к другой конфигурации, отличной от той, которую вы редактируете.

Вы можете попробовать начать с:

--innodb_buffer_pool_size=2048M --innodb_log_buffer_size=512M

Или проверьте параметры, с которыми вы уже начинаете, и посмотрите, не заставляет ли один из них пропустить конфигурацию.