Innodb : cannot allocate the memory for the buffer pool

innodb

My innodb keeps crashing. This is the error message below. Does anyone know why this keeps happening?

InnoDB: by InnoDB 49201616 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…

0 processes alive and '/usr/bin/mysqladmin –defaults-file=/etc/mysql/debian.cnf ping' resulted in
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!

InnoDB: Fatal error: cannot allocate the memory for the buffer pool
[ERROR] Default storage engine (InnoDB) is not available

Best Answer

You're running out of memory. That's what OS error 12 is. (see /usr/include/asm-generic/errno-base.h)

It looks like it's happening on startup. What else are you running on the box? How big a buffer pool are you asking InnoDB to create? Are you running 64-bit or 32-bit? Do you have any swap?

Wade.