How to calculate the space I need for the indexes? CREATE TABLE info(
home CHAR(10) CHARACTER SET latin1 NOT NULL,
id TINYINT UNSIGNED NOT NULL,
galaxy TINYINT UNSIGNED NOT NULL,
galaxy_pos INT UNSIGNED NOT NULL,
events TEXT NOT NULL,
UNIQUE KEY(galaxy, galaxy_pos, id), PRIMARY KEY(home, id)) ENGINE = INNODB


10+1+1+4+2 = 18 bytes + TEXT, are needed for the data. How to calculate the space I need for the indexes?
For the data record add:


6 bytes transaction id
7 bytes rollback pointer
5 bytes extra bytes header
2 bytes - for length of TEXT field (however if TEXT values longer than 7k overhead will be bigger)


Index record stores indexed fields + primary key. So its length will be


5 bytes - extra bytes
indexed fields length 
primary key length (in your case it's 1+4+1 bytes)


Take into account an InnoDB page may be filled up to 15/16 i.e. 15k of data+headers.

Each page has 120 bytes in headers.

Plus take into account space that is used by non-leaf pages. It's not huge, but still.