baltun
Администратор
- Сообщения
- 12.281
- Реакции
- 3.082
- Баллы
- 1.833
Как всем известно форум Xenforo работает с таблицами InnoDB и для того, чтобы форум работал быстрее требуется настроить MySQL соответствующим образом.
InnoDB — одна из выбираемых подсистем низкого уровня в СУБД MySQL, входит во все стандартные сборки для различных операционных систем. Основным отличием InnoDB от других подсистем низкого уровня MySQL является наличие механизма транзакций и внешних ключей.
Чтобы сделать изменения конфигурации базы, заходим под root и выполняем:
Переходим по пути /etc/my.cnf и вносим изменения пример:
Если у вас уже работала база с настройками по умолчанию, после изменения innodb_log_file_size (по умолчанию который 5мб), требуется переименовать старые логи.
Запускаем MySQL.
Если все работает нормально и нет ошибок в логах, останавливаем сервер
И запускам сервер снова с закомментированной строкой innodb_fast_shutdown = 0.
Примерная конфигурация для сервера с 16Гб памятью.
Значение innodb_buffer_pool_instances зависит от количества оперативной памяти выделяемой для innodb_buffer_pool_size. В идеале 1 инстанция на 1 гигабайт оперативной памяти.
Важно: При изменении параметров в журнале не должно быть ошибок после остановки базы, в противном случае все изменения только усугубят ошибки. Желательно сразу делать все правильно и настраивать сразу все параметры, а не частями, иначе могут появляться ошибки и база MySQL не будет стартовать. Перед изменениями сделайте копию всех файлов.
InnoDB — одна из выбираемых подсистем низкого уровня в СУБД MySQL, входит во все стандартные сборки для различных операционных систем. Основным отличием InnoDB от других подсистем низкого уровня MySQL является наличие механизма транзакций и внешних ключей.
Чтобы сделать изменения конфигурации базы, заходим под root и выполняем:
Код:
service mysqld stop
Код:
innodb_buffer_pool_size = 384M
innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 50M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 2
innodb_fast_shutdown = 0
Если у вас уже работала база с настройками по умолчанию, после изменения innodb_log_file_size (по умолчанию который 5мб), требуется переименовать старые логи.
Код:
mv /var/lib/mysql/ib_logfile0 /var/lib/mysql/ib_logfile0_old
mv /var/lib/mysql/ib_logfile1 /var/lib/mysql/ib_logfile1_old
Запускаем MySQL.
Код:
service mysqld start
Код:
service mysqld stop
И запускам сервер снова с закомментированной строкой innodb_fast_shutdown = 0.
Код:
innodb_buffer_pool_size = 384M
innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 50M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 2
#innodb_fast_shutdown = 0
Примерная конфигурация для сервера с 16Гб памятью.
Код:
key_buffer_size = 16M
innodb_buffer_pool_instances = 4
innodb_buffer_pool_size = 4G
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 1G
innodb_flush_log_at_trx_commit = 2
Значение innodb_buffer_pool_instances зависит от количества оперативной памяти выделяемой для innodb_buffer_pool_size. В идеале 1 инстанция на 1 гигабайт оперативной памяти.
Важно: При изменении параметров в журнале не должно быть ошибок после остановки базы, в противном случае все изменения только усугубят ошибки. Желательно сразу делать все правильно и настраивать сразу все параметры, а не частями, иначе могут появляться ошибки и база MySQL не будет стартовать. Перед изменениями сделайте копию всех файлов.
Последнее редактирование: