mysql如何配置表空间独立存储_使用innodb_file_per_table
已启用 innodb_file_per_table 时新建表有独立 .ibd 文件否则数据存于 ibdata1执行 SELECT innodb_file_per_table 或 SHOW VARIABLES LIKE innodb_file_per_table 查看需在 [mysqld] 段配置文件中设置并重启才永久生效。开启 innodb_file_per_table 后每个 InnoDB 表才会真正拥有自己的 .ibd 文件不开启时所有表数据都挤在共享表空间 ibdata1 里删表不释放磁盘空间。怎么确认当前是否已启用 innodb_file_per_table别猜直接查。这个配置是动态的但只对新建表生效已有表不会自动迁移。执行 SELECT innodb_file_per_table; —— 返回 1 表示已启用或查全局变量SHOW VARIABLES LIKE innodb_file_per_table;注意即使变量显示为 ON如果实例启动前没在配置文件里写死重启后可能回退尤其 MySQL 5.6 及更早版本在哪里设置才真正生效必须写进 MySQL 配置文件如 /etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf且放在 [mysqld] 段下。加这一行innodb_file_per_table ONMySQL 5.6 推荐用 ON旧版也支持 1改完必须重启 MySQL 实例SET GLOBAL 动态设置仅影响后续新建表且部分版本不支持动态修改该变量不要写在 [client] 或其他段里无效开了之后老表不会自动拆出来这是最常被忽略的一点启用只是“从现在起”新表走独立表空间已存在的表仍留在 ibdata1 中。 幻导航网 发现优质实用网站,开启网络探索之旅