Uda*_*day 18 mysql innodb logs
我想了解这些 ibdata 文件,因为它们在崩溃恢复过程中起着至关重要的作用。我无法通过网络找到合适的资源。
Rol*_*DBA 18
文件 ibdata1 是 InnoDB 基础设施的系统表空间。
它包含几个对 InnoDB 至关重要的信息类
您可以通过启用innodb_file_per_table 将数据和索引页与 ibdata1 分离。这将导致任何新创建的 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
:我在 StackOverflow 中的原始帖子Nov 26, 2011
: ERROR 1114 (HY000) at line 6308 in file & The table user_analysis is fullFeb 03, 2012
: MySQL InnoDB中表的预定优化Mar 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 就为新的数据库连接做好了准备。