Spec-Zone.ru › MySQL 8.4

17.8.12 Включение автоматической конфигурации InnoDB для выделенного сервера MySQL

При запуске сервера с --innodb-dedicated-server, InnoDB автоматически вычисляет и устанавливает значения следующих системных переменных:

  • innodb_buffer_pool_size

  • innodb_redo_log_capacity

Примечание

innodb_redo_log_capacity заменяет как innodb_log_file_size, так и innodb_log_files_in_group, которые устанавливались --innodb-dedicated-server в более ранних версиях MySQL, но которые с тех пор устарели. Ожидается, что innodb_log_file_size и innodb_log_files_in_group будут удалены в будущей версии MySQL.

В MySQL 8.0, innodb_flush_method также устанавливалось автоматически с помощью этого параметра, но в MySQL 8.4 это больше не так.

Следует рассмотреть использование --innodb-dedicated-server только в том случае, если экземпляр MySQL находится на выделенном сервере, где он может использовать все доступные системные ресурсы — например, если вы запускаете MySQL Server в контейнере Docker или выделенной виртуальной машине, на которой работает только MySQL. Использование --innodb-dedicated-server не рекомендуется, если экземпляр MySQL разделяет системные ресурсы с другими приложениями.

Значение каждой затронутой переменной определяется и применяется --innodb-dedicated-server, как описано в следующем списке:

  • innodb_buffer_pool_size

    Размер буфера подкачки рассчитывается в соответствии с объемом памяти, обнаруженным на сервере, как показано в следующей таблице:

    Таблица 17.8 Автоматически настроенный размер буфера подкачки

    Таблица 17.8 Автоматически настроенный размер буфера подкачки
    Обнаруженная оперативная память сервера Размер буфера подкачки
    Менее 1 ГБ 128 МБ (значение по умолчанию)
    От 1 ГБ до 4 ГБ detected server memory * 0,5
    Более 4 ГБ detected server memory * 0,75

  • innodb_redo_log_capacity

    Емкость журнала переопределения рассчитывается в соответствии с количеством логических процессоров, доступных на сервере. Формула: (количество доступных логических процессоров / 2) ГБ, с максимальным динамическим значением по умолчанию 16 ГБ.

  • innodb_log_file_size (устарело)

    Размер файла журнала устанавливается в соответствии с автоматически настроенным размером буфера подкачки, как показано в следующей таблице:

    Таблица 17.9 Автоматически настроенный размер файла журнала

    Таблица 17.9 Автоматически настроенный размер файла журнала
    Размер буфера подкачки Размер файла журнала
    Менее 8 ГБ 512 МБ
    От 8 ГБ до 128 ГБ 1024 МБ
    Более 128 ГБ 2048 МБ

  • innodb_log_files_in_group (устарело)

    Количество файлов журнала определяется в соответствии с автоматически настроенным размером буфера подкачки, как показано в следующей таблице:

    Таблица 17.10 Автоматически настроенное количество файлов журнала

    Таблица 17.10 Автоматически настроенное количество файлов журнала
    Размер буфера подкачки Количество файлов журнала
    Менее 8 ГБ округлить(buffer pool size)
    От 8 ГБ до 128 ГБ округлить(buffer pool size * 0,75)
    Более 128 ГБ 64

    Примечание

    Минимальное значение для innodb_log_files_in_group равно 2; это нижнее ограничение применяется, если значение, полученное после округления размера буфера подкачки, меньше этого числа.

Если одна из перечисленных переменных установлена явно в файле параметров или где-либо ещё, используется это явное значение, и в stderr отображается предупреждение о запуске, подобное этому:

[Предупреждение] [000000] InnoDB: Параметр innodb_dedicated_server игнорируется для innodb_buffer_pool_size, так как явно задано innodb_buffer_pool_size=134217728.

Установка одной переменной явно не препятствует автоматической конфигурации других параметров.

Если сервер запускается с --innodb-dedicated-server, а innodb_buffer_pool_size установлено явно, настройки переменных, основанные на размере буфера подкачки, используют значение размера буфера подкачки, рассчитанное в соответствии с объёмом памяти, обнаруженной на сервере, а не явно определённое значение размера буфера подкачки.

Примечание

Настройки автоматической конфигурации применяются --innodb-dedicated-server только при запуске сервера MySQL. Если вы впоследствии явно установите любую из затронутых переменных, это переопределит предварительно определённое значение, и будет применено явно заданное значение. Установка одной из этих переменных в DEFAULT приводит к её установке в фактическое значение по умолчанию, как показано в описании переменной в Руководстве, и не приводит к возврату к значению, установленному --innodb-dedicated-server. Соответствующая системная переменная innodb_dedicated_server изменяется только при запуске сервера с --innodb-dedicated-server (или с --innodb-dedicated-server=ON или --innodb-dedicated-server=OFF); в противном случае она является только для чтения.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/innodb-dedicated-server.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API