Memperbaiki “InnoDB: Fatal error: cannot allocate memory for the buffer pool”

database_errorMemory pada server memang merupakan hal yang pokok selain storage dan procesor. Nah, masalah ini muncul ketika menggunakan VPS di Digital Ocean pada awal penggunaan memang terlihat lancar namun setelah beberapa bulan seiring dengan penambahan database dan aksesnya akhirnya muncul masalah “InnoDB: Fatal error: cannot allocate memory for the buffer pool”.

Jika dilihat pada /var/log/syslog maka akan ditemui beberapa baris error seperti dibawah ini, yang menunjukkan mysql telah dimatikan karena krisis memory.

Sep 11 17:00:02 localhost mysqld: 140911 17:00:02 [Note] Plugin ‘FEDERATED’ is disabled.
Sep 11 17:00:02 localhost mysqld: 140911 17:00:02 InnoDB: The InnoDB memory heap is disabled
Sep 11 17:00:02 localhost mysqld: 140911 17:00:02 InnoDB: Mutexes and rw_locks use GCC atomic builtins
Sep 11 17:00:02 localhost mysqld: 140911 17:00:02 InnoDB: Compressed tables use zlib 1.2.7
Sep 11 17:00:02 localhost mysqld: 140911 17:00:02 InnoDB: Using Linux native AIO
Sep 11 17:00:02 localhost mysqld: 140911 17:00:02 InnoDB: Initializing buffer pool, size = 128.0M
Sep 11 17:00:02 localhost mysqld: InnoDB: mmap(135987200 bytes) failed; errno 12
Sep 11 17:00:02 localhost mysqld: 140911 17:00:02 InnoDB: Completed initialization of buffer pool
Sep 11 17:00:02 localhost mysqld: 140911 17:00:02 InnoDB: Fatal error: cannot allocate memory for the buffer pool
Sep 11 17:00:02 localhost mysqld: 140911 17:00:02 [ERROR] Plugin ‘InnoDB’ init function returned error.
Sep 11 17:00:02 localhost mysqld: 140911 17:00:02 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
Sep 11 17:00:02 localhost mysqld: 140911 17:00:02 [ERROR] Unknown/unsupported storage engine: InnoDB
Sep 11 17:00:02 localhost mysqld: 140911 17:00:02 [ERROR] Aborting
Sep 11 17:00:02 localhost mysqld:
Sep 11 17:00:02 localhost mysqld: 140911 17:00:02 [Note] /usr/sbin/mysqld: Shutdown complete
Sep 11 17:00:02 localhost mysqld:
Sep 11 17:00:02 localhost mysqld_safe: mysqld from pid file /var/run/mysqld/mysqld.pid ended

Yang aku beri tanda merah adalah error yang terjadi dan dimatikannya service mysql oleh server.

Dan apabila service mysql coba diaktifkan muncul pesan :

# service mysqld start
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (111)

Apabila ini terjadi tidak perlu takut dan khawatir, cukup pilih salah satu solusi dibawah ini :

1. Menambah alokasi Physical RAM pada server, setidaknya 1GB atau lebih.

2. Membuat partisi Swap pada server, khususnya jika menggunakan VPS Digital Ocean yang sama sekali tidak ada alokasi partisi Swapnya. Untuk membuat partisi Swap silahkan ikuti langkah2 berikut, jangan lupa gunakan akses root untuk membuatnya :
# dd if=/dev/zero of=/swap.dat bs=1024 count=512M
# mkswap /swap.dat
# swapon /swap.dat
## Edit the /etc/fstab, dan tambahkan baris berikut.
/swap.dat none swap sw 0 0

3. Kurangi penggunaan Mysql buffer pool size dengan menambahkan baris berikut ini setelah [mysqld] atau pada baris paling bawah pada file /etc/my.cnf
[mysqld]
innodb_buffer_pool_size = 64M

 

perintah dibawah ini letakkan pada baris paling bawah :

# for innodb .._buffer_pool_size up to 50 – 80%
innodb_additional_mem_pool_size = 2M
innodb
# set .._log_file_size to 25% of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_log_wait_timeout = 50
innodb_flush_method=normal

Dan jangan lupa untuk menghapus file ib_logfile dan semua file ibdata dari /var/lib/mysql

Selamat mencoba dan semoga berhasil …… kalau ada kekurangan mohon dimaafkan.

 

 

Related Search

Tags: #database #debian #Digital Ocean #ERROR #linux #mysql #server

Mikrotik Duckdns.org Update (New Script)
Mikrotik Duckdns.org Update (New Script)
Entah kenapa script untuk update Dynamic IP
Mengatasi Stiker Whatsapp Yang Tidak Muncul Di Android
Mengatasi Stiker Whatsapp Yang Tidak Muncul Di Android
Wahtsapp baru-baru ini merelease stiker untuk penggunanya,
SSL Gratis Dari LetsEncrypt
SSL Gratis Dari LetsEncrypt
Untuk mendapatkan SSL Ceritificate mungkin tidaklah semurah
Setup Storage Path The Dude di RB750G r3
Setup Storage Path The Dude di RB750G r3
The Dude merupakan tool yang cukup penting

Top