Hostxpeed
Login Get Started →
Troubleshooting

Fix MySQL "Table is Full"

4 min read
27 views
Jun 10, 2026

Understanding the Error

ERROR 1114 (HY000): The table 'tablename' is full

This usually means the storage engine limit is reached.

For MEMORY Tables

MEMORY tables have a max_rows limit:

ALTER TABLE tablename MAX_ROWS=1000000;

Or convert to InnoDB:

ALTER TABLE tablename ENGINE=InnoDB;

For MyISAM Tables

Increase max size or convert to InnoDB:

ALTER TABLE tablename ENGINE=InnoDB;

For InnoDB Tables

Check if innodb_data_file_path has hit max size:

SHOW VARIABLES LIKE 'innodb_data_file_path';

Auto-extend is recommended:

innodb_data_file_path = ibdata1:10M:autoextend

Filesystem Full

MySQL can't write to disk:

df -h
df -i

Check MySQL data directory:

du -sh /var/lib/mysql/*

Per-table Tablespaces

Enable innodb_file_per_table:

SET GLOBAL innodb_file_per_table=ON;

Optimize table to reclaim space:

OPTIMIZE TABLE tablename;

Disk Quota Exceeded

quota -u mysql

Was this article helpful?