Я хотел бы понять эти файлы ibdata, поскольку они играют жизненно важную роль в процедуре восстановления после сбоя. Я не мог найти подходящие ресурсы в Интернете для этого.
Файл ibdata1 является системным табличным пространством для инфраструктуры InnoDB.
Он содержит несколько классов для информации, необходимой для InnoDB
Нажмите здесь, чтобы увидеть графическое представление
Вы можете отделить страницы данных и индексов от ibdata1, включив innodb_file_per_table . Это приведет к тому, что любая вновь созданная таблица InnoDB будет хранить данные и индексные страницы во внешнем .ibd
файле.
пример
CREATE TABLE mydb.mytable (...) ENGINE=InnoDB;
создает /var/lib/mysql/mydb/mytable.frm
/var/lib/mysql/mydb/mytable.ibd
Независимо от того, где хранится таблица InnoDB, функциональность InnoDB требует поиска метаданных таблицы, а также сохранения и извлечения информации MVCC для поддержки соответствия ACID и изоляции транзакции. .
Вот мои прошлые статьи по отделению табличных данных и индексов от ibdata1
Oct 29, 2010
: Мой оригинальный пост в StackOverflowNov 26, 2011
: ОШИБКА 1114 (HY000) в строке 6308 в файле & Таблица user_analysis заполненаFeb 03, 2012
: Плановая оптимизация таблиц в MySQL InnoDBMar 25, 2012
: Почему InnoDB хранит все базы данных в одном файле?Apr 01, 2012
: Целесообразно ли использовать innodb_file_per_table?ib_logfile0
,ib_logfile1
)Если вы хотите знать, для чего ib_logfile0
и ib_logfile1
для чего они нужны, это журналы повторов InnoDB. Их никогда не следует стирать или изменять до тех пор, пока не произойдет полное нормальное отключение mysqld . Если mysqld когда-либо падает, просто запустите mysqld. Он будет считывать ib_logfile0
и ib_logfile1
проверять любые изменения данных, которые не были отправлены в буфер двойной записи в ibdata1
. Он будет воспроизводить (повторять) эти изменения. Как только они будут воспроизведены и сохранены, mysqld будет готов к новым соединениям с БД.
innodb_file_per_table disabled, Data/Index Pages Stored in /var/lib/mysql/mydb/mytable.ibd
иinnodb_file_per_table enbled, Data/Index Pages Stored in ibdata1
должно быть наоборот, не так ли?