mysql 带有 innodb_file_per_table-看不到任何 .ibd 文件

mysql 带有 innodb_file_per_table-看不到任何 .ibd 文件

我已配置 mysql 以使用该innodb_file_per_table选项。

一切运行正常,我已经能够将数据从另一台 mysql 服务器传输到具有innodb_file_per_tableset 的服务器。所有记录均可访问,并且应用程序已经正常运行了几天。

但是我找不到 .ibd 文件。我已通过 /etc/init.d/mysql restart 重新启动了 mysql。

在 /var/lib/mysql/xxx(xxx 是目录名称)中有一个 .frm 文件,但没有 .ibd 文件。

我无法在任何地方找到预期的 .ibd 文件。

使用的操作系统是Ubuntu Linux:

Linux 2.6.24-24-server #1 SMP Tue Aug 18 16:51:43 UTC 2009 x86_64 GNU/Linux

有趣的是,du 和 df 显示的占用空间信息不同 - df 说占用了 34GB 而 du 显示 19G;15GB 的差异大致是 .ibd 文件占用的数据(如 mysql admin 中所示)。

我粘贴了 du + df 的输出以及 mysqld 进程的 /proc/xxx/fd 内容。有趣的是,fd 显示“/var/lib/mysql/ibdata1 (已删除)”。

]du --最大深度 1 -h /
12M ./等
3,8M ./lib32
1.9G./var
8,0K ./媒体
1,6G ./usr
159M ./tmp
125M ./启动
4,0K ./initrd
86M ./根
4,0K ./srv
196M ./选择
16K ./丢失+找到
15G./jboss
12K ./月
708M ./lib
0./进程
48K ./主页
48K ./dev
0./系统
6,7M ./sbin
4,6M./bin
19G。

]df-h
文件系统大小已使用可用使用率%安装于
/dev/sda1 221G 34G 177G 16% /
varrun 7,9G 260K 7,9G 1% /var/运行
varlock 7,9G 0 7,9G 0%/var/lock
udev 7,9G 36K 7,9G 1% /dev
devshm 7,9G 0 7,9G 0%/dev/shm

]l /proc/15215/fd
共 0
/dev/null
管道:[31469149]
 插座:[31469165]
 /tmp/ibyTflWI (已删除)
 插座:[31469166]
管道:[31469149]
/var/lib/mysql/ibdata1(已删除)
/tmp/ibYr0wC6 (已删除)
/tmp/ibX4rGe0(已删除)
/tmp/ibjOaQQT (已删除)
/tmp/ibbGtntN (已删除)
/var/lib/mysql/ib_logfile0(已删除)
/var/lib/mysql/ib_logfile1(已删除)

以下是显示表状态的输出:

mysql> 显示表状态如'%xxx%';
+-----------------+--------+---------+------------+---------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+-----------------------------------------------------------------------------------+
| 名称 | 引擎 | 版本 | 行格式 | 行 | 平均行长度 | 数据长度 | 最大数据长度 | 索引长度 | 不含数据 | 自动增量 | 创建时间 | 更新时间 | 检查时间 | 排序规则 | 校验和 | 创建选项 | 评论 |
+-----------------+--------+---------+------------+---------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+-----------------------------------------------------------------------------------+
| xxx | InnoDB | 10 | 紧凑 | 7982574 | 1674 | 13369344000 | 0 | 81526784 | 0 | NULL | 2009-11-18 04:15:08 | NULL | NULL | utf8_general_ci | NULL | | InnoDB 可用:4096 kB;|
+-----------------+--------+---------+------------+---------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+-----------------------------------------------------------------------------------+
一组 1 行(0.21 秒)

和 mysql 版本:5.0.51a-3ubuntu5.4

答案1

每表一个文件仅适用于启用该选项后创建的表 - 现有表不会被复制到单独的文件中。您需要创建新表,复制记录,然后删除旧表并将新表重命名为旧名称,以便将所有表放入各自的文件中。

相关内容