Я хочу проверить, установлен ли innodb_file_per_table
(т. Е. .ibd
) для каждой таблицы базы данных с использованием запроса MYSQL-5.5
.Любой способ проверить, установлен ли innodb_file_per_table в MYSQL 5.5 для таблицы?
Любой способ сделать это?
Я хочу проверить, установлен ли innodb_file_per_table
(т. Е. .ibd
) для каждой таблицы базы данных с использованием запроса MYSQL-5.5
.Любой способ проверить, установлен ли innodb_file_per_table в MYSQL 5.5 для таблицы?
Любой способ сделать это?
SELECT NAME, SPACE FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES;
The SPACE
будет 0 для глобального табличного (ibdata1) и некоторого большего числа для файлов за стол табличных.
См http://dev.mysql.com/doc/refman/5.6/en/innodb-sys-tables-table.html
Поскольку вы используете 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%';
Опять же, ПРОСТРАНСТВО 0 для глобального табличного пространства, и большие целые числа для файла-за-таблицы.
С оговоркой, что он сообщает только о таблицах, содержащих страницы в буферном пуле. Если вы не запросили таблицу, у нее не будет страниц в пуле буфера LRU, и запрос не сообщит о каком-либо результате для этой таблицы.
Единственное другое решение - использовать ls
в каталоге данных. :-)
mysql> show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | ON |
+-----------------------+-------+
1 row in set (0.00 sec)
Это просто говорит вам, включен ли параметр. Любые таблицы, созданные до включения файла file_per_table, по-прежнему будут в глобальном табличном пространстве. Моя интерпретация вопроса заключается в том, что они хотят знать, какие таблицы фактически имеют свой собственный файл (они были созданы после включения file_per_table). – antriver
получать ошибки 'ОШИБКА 1109 (42S02): Неизвестный стол 'INNODB_SYS_TABLES' в information_schema' –
Он был введен в MySQL 5.6 и в Percona Server 5.1. –
Эй, я хочу решение в MySQL 5.5 –