我已经configuration了mysql来使用innodb_file_per_table选项。
一切工作正常,我已经能够从另一个MySQL服务器传输数据到innodb_file_per_table设置的服务器。 所有logging都可以访问,并且应用程序现在已经运行良好。
但是我无法find.ibd文件。 我已经通过/etc/init.d/mysql restart重新启动了mysql。
在/ var / lib / mysql / xxx(xxx是目录名称)中有一个.frm文件,但不是.ibd文件。
我无法在任何地方find预期的.ibd文件。
使用的操作系统是Ubuntu Linux:
Linux 2.6.24-24-server #1 SMP Tue Aug 18 16:51:43 UTC 2009 x86_64 GNU/Linux
有趣的是,杜和DF显示不同的占用空间的通知 – DF说34GB被占领,而杜显示19G; 15GB的差别大概是.ibd文件占用的数据(如mysql admin所示)。
我粘贴了du + df的输出以及mysqld进程的/ proc / xxx / fd内容。 有趣的是,fd显示“/ var / lib / mysql / ibdata1(已删除)”。
] du - 最大深度1 -h / 12M ./etc 3,8M ./lib32 1,9G ./var 8.0万个媒体 1,6G ./usr 159M ./tmp 125M ./boot 4,0K ./initrd 86M ./root 4,0K ./srv 196M ./opt 16K ./lost+found 15G ./jboss 12K ./mnt 708M ./lib 0 ./proc 48K ./home 48K ./dev 0 ./sys 6,7M ./sbin 4,6M ./bin 19G。 ] df -h 使用的文件系统大小可用使用% / dev / sda1 221G 34G 177G 16%/ varrun 7,9G 260K 7,9G 1%/ var / run 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的 pipe:[31469149] sockets:[31469165] / tmp / ibyTflWI(删除) sockets:[31469166] pipe:[31469149] / var / lib / mysql / ibdata1(已删除) / tmp / ibYr0wC6(删除) / tmp / ibX4rGe0(删除) / tmp / ibjOaQQT(删除) / tmp / ibbGtntN(删除) / var / lib / mysql / ib_logfile0(已删除) / var / lib / mysql / ib_logfile1(删除)
以下是show table状态的输出:
mysql>显示表状态,如'%xxx%'; + ----------------- + -------- + --------- + ------------ + --------- + ---------------- + ------------- + -------- --------- + -------------- ----------- + ------------- + --- + --------------------- + ------------- + ---------- - + ----------------- + ---------- + ---------------- + - -------------------------------------------------- ------------------------------- + | 名称| 引擎| 版本| Row_format | 行| Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | 整理| Checksum | Create_options | 评论| + ----------------- + -------- + --------- + ------------ + --------- + ---------------- + ------------- + -------- --------- + -------------- ----------- + ------------- + --- + --------------------- + ------------- + ---------- - + ----------------- + ---------- + ---------------- + - -------------------------------------------------- ------------------------------- + | 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; | + ----------------- + -------- + --------- + ------------ + --------- + ---------------- + ------------- + -------- --------- + -------------- ----------- + ------------- + --- + --------------------- + ------------- + ---------- - + ----------------- + ---------- + ---------------- + - -------------------------------------------------- ------------------------------- + 一排(0.21秒)
和mysql版本: 5.0.51a-3ubuntu5.4
每个表的文件只适用于启用该选项后创build的表 – 现有表不会复制到单独的文件。 您将需要创build新表,将logging复制到一起,然后删除旧表并将新表重命名为旧名称,以将所有表都归入其自己的文件。