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

mysql остановился после импорта на сервер

Привет, всю эту ночь я импортировал на свой сервер (сервер Linux 512 МБ Ram с ubuntu), это очень большой импорт в базу данных с Magento (электронная коммерция). Когда я открываю свой сайт, mysql не работает, я видел, что на сервере служба не работает, остановлена. Я перезапустил все apache 2 и memcache и теперь работает. Но я хочу знать, почему остановлен mysql. В /var/log/mysql/error.log я нашел эту строку:

InnoDB: Progress in percents: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52$
InnoDB: Rolling back of trx id 1CA46C3 completed
130126 14:29:58  InnoDB: Rollback of non-prepared transactions completed
130128  6:05:51 [Note] Plugin 'FEDERATED' is disabled.
130128  6:05:59 InnoDB: The InnoDB memory heap is disabled
130128  6:05:59 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130128  6:05:59 InnoDB: Compressed tables use zlib 1.2.3.4
130128  6:06:11 InnoDB: Initializing buffer pool, size = 128.0M
130128  6:06:19 InnoDB: Completed initialization of buffer pool
130128  6:11:51 [Note] Plugin 'FEDERATED' is disabled.
130128  6:12:01 InnoDB: The InnoDB memory heap is disabled
130128  6:12:01 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130128  6:12:01 InnoDB: Compressed tables use zlib 1.2.3.4
130128  6:12:19 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
130128  6:12:23 InnoDB: Completed initialization of buffer pool
130128  6:12:23 InnoDB: Fatal error: cannot allocate memory for the buffer pool
130128  6:12:28 [ERROR] Plugin 'InnoDB' init function returned error.
130128  6:12:29 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130128  6:12:30 [ERROR] Unknown/unsupported storage engine: InnoDB
130128  6:12:30 [ERROR] Aborting

130128  6:12:32 [Note] /usr/sbin/mysqld: Shutdown complete


130128  6:21:04 [Note] /usr/sbin/mysqld: Shutdown complete
130128  6:21:03 [Note] Plugin 'FEDERATED' is disabled.
130128  6:21:03 InnoDB: The InnoDB memory heap is disabled
130128  6:21:03 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130128  6:21:03 InnoDB: Compressed tables use zlib 1.2.3.4
130128  6:21:03 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
130128  6:21:03 InnoDB: Completed initialization of buffer pool
130128  6:21:03 InnoDB: Fatal error: cannot allocate memory for the buffer pool
130128  6:21:03 [ERROR] Plugin 'InnoDB' init function returned error.
130128  6:21:03 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130128  6:21:03 [ERROR] Unknown/unsupported storage engine: InnoDB
130128  6:21:03 [ERROR] Aborting

130128  6:21:04 [Note] /usr/sbin/mysqld: Shutdown complete

Вы можете помочь мне найти проблему? Эта строка может быть полезна для понимания проблемы?

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

Если проблема повторится снова, вы сможете понять, почему.

Обратите внимание, что у некоторых людей была такая же проблема, и они решили ее с помощью добавление свопа.

Во-первых, я не могу себе представить, почему вы пытаетесь запустить магазин Magento только с 512 МБ ОЗУ - это рецепт катастрофы.

130128 6:21:03 InnoDB: Неустранимая ошибка: невозможно выделить память для буферного пула

Это одно из двух.

Вы переполнили память в вашем my.cnf

Это не будет сюрпризом, если вы скопировали + вставили "оптимизированную" конфигурацию Magento MySQL из Интернета - не обращая внимания на различие вашего оборудования и оборудования OP.

Вы можете проверить, выполнив,

mysql> show variables like 'innodb_buffer%';

Если эта цифра превышает ваш объем оперативной памяти - уменьшите ее в конфигурации MySQL. /etc/mysql/my.cnf или /etc/my.cnf и перезапустите MySQL.

Вы ограничены ulimit

Даже если ваша конфигурация MySQL находится в допустимых пределах памяти - вы можете быть ограничены настройками сервера.

Вы можете проверить, выполнив,

ulimit  -a

И проверяя значения для virtual memory и max memory size. Проверьте это, выполнив

ulimit -v unlimited
ulimit -m unlimited

Затем запускаем MySQL

/etc/init.d/mysql start