Skip to main content

MySQL is running out of memory in DigitalOcean

Hey, after update from MySQL 5.5 to 5.6, my life is getting worse. There are many 'Database connection error' when I try to open my website. And I even can not access to phpMyAdmin. What's happening.
OK, I turn on the SSH, connect to my server and BOOM, mysql is having 'Out of Memory' error, and everything crash.
That time, I need to restart mySQL:
$> sudo service mysql start

Next, I need to find out how much memory is being used, because Digital Ocean does not support this feature.
$> sudo apt-get install htop
$> htop
Now there is my memory usage:

Wow, mysqld service is consuming 48.9% memory, what!!!

There are 2 things I can do: Upgrade RAM (means upgrade Dropplet) or continue to check for another solution, my VPS is 1GB RAM.

Next, I check the log of mysql at /var/log/mysql: 
There are alot of errors:



There are some problems that we can find out:
+ InnoDB can not allocate memory 
+ InnoDB memory heap is disabled

Let's check the swap by this command:
$> free -m 


Swap = 0 means there is no swap setup. 

---> I need to setup the swap File by following steps:

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

There might be some errors when you try command in above pages, like:
sysctl: cannot stat /proc/sys/50: No such file or directory

What you need to do is to:
+  move to the /proc/sys/vm folder: $> cd /proc/sys/vm
Then type again

Now my system start using swap file and no out of memory error. However I always recommend you to upgrade RAM if possible because using swap file will degrade your performance.


Comments