MySql is a great database and InnoDB is one of the engines you can use; the other popular choice is MyISAM (a good post explaining the differences). If you work with large amounts of data you can sometimes run into weird problems you didn't know about or expect.
InnoDB saves all the tables in your database into one file: ibdata1 (and an ib_log file). That's all well and good, except it doesn't delete information from them when you erase a table. So your ibfile1 will never decrease in size. This only becomes a problem with large amounts of data and the use of temporary tables. I don't know why this is the default behavior, but there is a very simple solution to get around this problem: use unique files for each table.
Instructions
Make sure you backup everything before doing this and I don't recommend doing this on a live system.
1. Open up your my.cnf (mysql configuration file)
nano /etc/mysql/my.cnf |
If you don't know where it is try searching for it:
find / -name my.cnf |
2. Add the following under [mysqld] portion of the config:
innodb_file_per_table |
3. Remove old files: ibdata1 and ib_log
4. Restart mysql (a couple examples below)
service mysqld restart |
/etc/init.d/mysqld restart |
MySql will now save innodb tables into unique files and delete them when you delete the tables.
WordPress & WooCommerce Hosting Performance Benchmarks 2021
WooCommerce Hosting Performance Benchmarks 2020
WordPress Hosting Performance Benchmarks (2020)
The Case for Regulatory Capture at ICANN
WordPress Hosting – Does Price Give Better Performance?
Hostinger Review – 0 Stars for Lack of Ethics
The Sinking of Site5 – Tracking EIG Brands Post Acquisition
Dirty, Slimy, Shady Secrets of the Web Hosting Review (Under)World – Episode 1
Free Web Hosting Offers for Startups