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

Сервер MySQL продолжает падать

У меня проблема, которую я не могу понять, по какой-то причине мой сервер MySQL продолжает давать сбой через 30-40 минут, сама загрузка сервера не слишком высока, это даже не 0,5 (для машины с 2 процессорами), у меня пытался просмотреть журнал ошибок /var/log/mysql/error.log, но не смог найти ни одной подсказки, но я буду первым, кто признает, что могу быть из-за недостатка знаний.

сервер - ubuntu 12.04 с базовыми настройками лампы .. каждый раз при сбое сервера мне приходится вручную перезапускать mysql, иначе он не будет работать.

это журнал ошибок, который у меня есть:

130623 15:09:18 [Note] Plugin 'FEDERATED' is disabled.
130623 15:09:18 InnoDB: The InnoDB memory heap is disabled
130623 15:09:18 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130623 15:09:18 InnoDB: Compressed tables use zlib 1.2.3.4
130623 15:09:18 InnoDB: Initializing buffer pool, size = 128.0M
130623 15:09:18 InnoDB: Completed initialization of buffer pool
130623 15:09:18 InnoDB: highest supported file format is Barracuda.
130623 15:09:18  InnoDB: Waiting for the background threads to start
130623 15:09:19 InnoDB: 5.5.31 started; log sequence number 2220260
130623 15:09:19 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
130623 15:09:19 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
130623 15:09:19 [Note] Server socket created on IP: '127.0.0.1'.
130623 15:09:19 [Note] Event Scheduler: Loaded 0 events
130623 15:09:19 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.5.31-0ubuntu0.12.04.2'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)
130623 15:27:48 [Note] Plugin 'FEDERATED' is disabled.
130623 15:27:48 InnoDB: The InnoDB memory heap is disabled
130623 15:27:48 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130623 15:27:48 InnoDB: Compressed tables use zlib 1.2.3.4
130623 15:27:48 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
130623 15:27:48 InnoDB: Completed initialization of buffer pool
130623 15:27:48 InnoDB: Fatal error: cannot allocate memory for the buffer pool
130623 15:27:48 [ERROR] Plugin 'InnoDB' init function returned error.
130623 15:27:48 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130623 15:27:48 [ERROR] Unknown/unsupported storage engine: InnoDB
130623 15:27:48 [ERROR] Aborting

130623 15:27:48 [Note] /usr/sbin/mysqld: Shutdown complete

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

Кто-нибудь видит то, чего не вижу я?

Отредактируйте свой /etc/mysql/my.cnf, добавив эту строку

innodb_buffer_pool_size = 64M

А затем перезапустите mysql

service mysql restart

Хорошо использовать Замена если у вас недостаточно памяти. Ознакомьтесь с этой хорошей статьей:

https://www.digitalocean.com/community/articles/how-to-add-swap-on-ubuntu-12-04

У меня это отлично работает.

Умм, это дважды появляется в вашем файле журнала

InnoDB: Fatal error: cannot allocate memory for the buffer pool

Добавьте файл подкачки, чтобы прояснить это.

Вы можете выполнить это, чтобы настроить страницу подкачки:

http://www.prowebdev.us/2012/05/amazon-ec2-linux-micro-swap-space.html

https://stackoverflow.com/questions/10284532/amazon-ec2-mysql-aborting-start-because-innodb-mmap-x-bytes-failed-errno-12