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

MySQL не запускается с одним изменением строки конфигурации - innodb_buffer_pool_size = 1G

Моя текущая конфигурация отлично работает, но мой innodb_buffer_pool_size слишком мал, так как база данных очень большая.

Все, что я меняю в MySQL.cnf, это

innodb_buffer_pool_size = 1G

к

innodb_buffer_pool_size = 2G

Затем я пытаюсь перезапустить MySQL и получаю следующие ошибки:

110715  8:44:48  InnoDB: Error: cannot allocate 2147500032 bytes of
InnoDB: memory with malloc! Total allocated memory
InnoDB: by InnoDB 25166072 bytes. Operating system errno: 12
InnoDB: Check if you should increase the swap file or
InnoDB: ulimits of your operating system.
InnoDB: On FreeBSD check you have compiled the OS with
InnoDB: a big enough maximum process size.
InnoDB: Note that in most 32-bit computers the process
InnoDB: memory space is limited to 2 GB or 4 GB.
InnoDB: We keep retrying the allocation for 60 seconds...

Это машина x86 объемом 4 ГБ, предназначенная для MySQL!

У меня была такая же проблема с 32-битной версией MySQL на 64-битной виртуальной машине Windows Server 2008 с 4G Ram. Я попытался увеличить системную оперативную память до 6 ГБ, но все равно не смог выделить более 1 ГБ для innoDB.

Поскольку у меня уже была 64-разрядная ОС, я попробовал 64-разрядный установщик для MySQL, и у меня не возникло никаких проблем с выделением 2G в моей системе 4G.

Я выбираю x86_32 (учитывая сообщение об ошибке), и, следовательно, вам не повезло - даже с PAE максимальный размер процесса по-прежнему ограничен адресным пространством 4 ГБ. Купите себе 64-битную систему и покончите с ней.