I'm running mysqltuner to tune up my database and I'm running into a very strange occurrence.
Even though the entire database is MyISAM (all tables) it says the following:
[!!] InnoDB data size / buffer pool: 403.1M/128.0M
The default storage engine of the database was InnoDB (even though all tables are MyISAM) so I thought that might be causing the problem somehow but when I changed the default-storage-engine value to MyISAM I still see the same exact InnoDB-related warning in mysqltuner.
So why is this happening and how do I fix it? I'd rather not waste 400M on InnoDB's buffer pool when I'm not using InnoDB to begin with.
Note: What I am NOT trying to do here is discuss the age-old question of MyISAM VS InnoDB, I just need to figure out why InnoDB is eating my resources even though I'm not using it.
disambiguation: "Data size" is not "Buffer pool".
Data Size is the size of database files on disk. It can be configured via the
innodb_data_file_path
server option.Buffer Pool is the memory (RAM) space used as a buffer for InnoDB tables data and indexes. Its configuration option is
innodb_buffer_pool_size
.First, make sure there is no InnoDB table at all in your instance:
Then if there is indeed no InnoDB table, you can rebuild the InnoDB tablespace from scratch (only way to reduce the table space, this is an annoying missing feature of MySQL). Even if there are InnoDB tables, you can still rebuild the tablespace to reclaim some unused space (see also this answer for more information).
Notice you cannot set
innodb_buffer_pool_size
any smaller than 5 MB. But you can disable InnoDB altogether (along with its buffers) with theskip-innodb
option.