I have a MySQL database table with 31,107,600 rows in it. It's using InnoDB. This is on a CentOS 7 system.
The table has these columns:
I want to create an index, so I run this command:
ALTER TABLE MY_TABLE ADD INDEX idx_my_index (mac, site_id, timestamp);
It takes about 30 seconds, and then gives me this:
ERROR 1114 (HY000): The table 'MY_TABLE' is full
My MySQL is using the default
/var/lib/mysql to store its data. Currently, the partition that folder is on has 12GB free, and my database is only 2.7 GB in size, so as far as I can tell, it should have more than enough space.
Why am I seeing this error? Online searches show that perhaps it is using a temporary table, and hitting restrictions on the size of the temporary table? Could it be that? Or something else? How can I confirm this?