Поскольку вы используете MySQL 5.5, вышеупомянутое решение не будет работать. В MySQL 5.5 вы можете использовать это:
SELECT DISTINCT TABLE_NAME, SPACE FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRU
WHERE TABLE_NAME IS NOT NULL AND TABLE_NAME NOT LIKE 'SYS%';
Опять же, SPACE равно 0 для глобального табличного пространства и больше целых чисел для файла за стол.
С оговоркой, что он только сообщает о таблицах, которые имеют страницы в пуле буферов. Если вы не запросили таблицу, у нее не будет страниц в пуле буфера LRU, и запрос не будет сообщать о каком-либо результате для этой таблицы.
Единственное другое решение - использовать ls в каталоге данных.: -)
Ответ 2
mysql> show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | ON |
+-----------------------+-------+
1 row in set (0.00 sec)