我可以安全地切换到Innodb file-per-table并删除ibdata1吗?这是我的攻击计划。我最近备份了所有数据。
接下来,我想:
这会有用吗?
答案 0 :(得分:2)
启用多个表空间后,InnoDB会存储每个新创建的表空间 表在相应数据库中自己的tbl_name.ibd文件中 目录。与MyISAM存储引擎不同,它是独立的 索引和数据的tbl_name.MYD和tbl_name.MYI文件,InnoDB 将数据和索引一起存储在单个.ibd文件中。该 仍像往常一样创建tbl_name.frm文件。
如果从my.cnf中删除innodb_file_per_table行并重新启动 在服务器上,InnoDB在共享表空间内创建任何新表 文件。
您始终可以访问系统表空间和表中的两个表 在他们自己的表空间中,无论每个表的文件设置如何。
您的问题的答案:不,您不能删除ibdata1,ib_logfile0或ib_logfile1,因为只启用该选项不会移动您现有的数据。