Как я могу узнать, является ли движок базы данных MySQL MyISAM или InnoDB в файловой системе?

Как я могу узнать ядро ​​базы данных MySQL в файловой системе (структура данных, команды MySQL невозможны)?

Было бы хорошо, если бы вы могли мне помочь.

С наилучшими пожеланиями, Джоннибой

2 ответа

Решение

Файлы MySQL ".frm" (таблица) имеют подпись файла и определенный формат заголовка.

Этот формат кратко описан в 8 битах: Форматы и заголовки файлов MySQL:

  1. Первые два байта всегда FE,01
  2. 4-й байт является типом хранения: например, 0C для InnoDB, 09 для MyISAM, 14 для MyIASM с разделами. (См. Комментарий Билла Карвина; они взяты из legacy_db_type перечисление.)

Это должна быть вся информация, необходимая для выполнения поверхностной проверки - либо с file (которые могут или не могут нуждаться в дополнительных правилах) или путем ручного осмотра с чем-то вроде xxd например,

sh$ xxd -l 4 table.frm

Помните, что одна база данных может содержать таблицы MyISAM и InnoDB.

ПОКАЗАТЬ ДВИГАТЕЛИ это синтаксис

http://dev.mysql.com/doc/refman/5.0/en/show-engines.html для получения дополнительной информации

Другие вопросы по тегам