MariaDB stops after a while on ubuntu 14.04 and cannot restart

April 5, 2016 2.2k views
MySQL MariaDB WordPress PHP Monitoring Apache Ubuntu

I have an $5 droplet with a LAMP stack, where I switched out mysql for MariaDB, running WordPress. It seems that after a while, MariaDB stops and I get "error establishing a database connection" page.

I have tried to restart MariaDB, but no luck:

robin@janwillemspanjer:~$ sudo service mysql restart
stop: Unknown instance:
start: Job failed to start
robin@janwillemspanjer:~$ sudo service mysqld restart
mysqld: unrecognized service

Also, it appears that the log files are completely empty. What can I do to fix this?

1 Answer

While MariaDB is a little better about memory use than MySQL, both are memory hogs. The most common support issue we see is regarding running MySQL on a 512MB droplet. Since droplets do not have a swap partition by default, when the physical memory is used up and MySQL attempts to reserve more memory it will crash. Adding a swap file to your droplet will help with this considerably but upgrading to a larger droplet would help even more.

If the service will no longer start it is likely that the database itself has been corrupted due to these crashes. If you have a backup of the data, I would recommend completely removing and re-installing mariadb.

apt-get purge mariadb-server
apt-get install mariadb-server

Unlike the apt-get remove command, using purge will also delete any configuration or data files related to the package.

If the data currently in the database is not backed up you can attempt to recover it. The first step would be to review the MySQL/MariaDB log files in /var/log to see what is happening behind the scenes when the service fails to start.

by Justin Ellingwood
Swap space can be used as an "overflow" area for your system when you run out of RAM. The operating system can store data that would normally be kept in RAM on the hard drive in a specially formatted file. In this guide, we'll demonstrate how to create and use one of these files in Ubuntu 14.04.
  • Thank you so much ryanpq!

    I originally did not add a swap partition as I saw digitalocean advises against it. So the solution will probably be to upgrade the droplet, but for now I'll add a swap file.

    I'd just like to add one question: let's say I have two or more WordPress installations. Would it be better to have them on one droplet (with more RAM), or several smaller droplets for each site? So for instance two WordPress installations on one $20/month droplet, versus two $10 droplets with one WordPress installation each.

    • I would recommend a single droplet or, if you choose to split it up I would place your DB server on one droplet and apache on the other. That would more evenly spread the load.

      I also want to try and clarify about DO's position on swap a bit. We continue to keep our swap file tutorials live and often a swap file is a necessary thing, especially when running on a small droplet.

      We do not include a swap file or partition by default on any of our droplets though. The reason for this is that swap files and partitions by their nature see a lot of I/O activity on the disk. As we use SSDs, high use of swap can lessen the lifetime of an SSD disk by quite a bit (our disks are all in RAID arrays and a single disk failure cannot take down a droplet but does result in added cost both in the hardware and the time to replace it). This is becoming less and less of a problem as SSD drives continue to improve.

Have another answer? Share your knowledge.