Ubuntu – Import from *.sql into thesql… IBD files missing

innodbMySQLUbuntu

Running ubuntu 10.10, MySQL, I imported a set of databases from a backup.

The import looks OK – I can query the databases and see data in them. The strange thing is that in the /var/lib/mysql/ folder there exists only *.frm files and not the *.ibd file to that I would expect. Along the same lines, the size of the files in each folder are way too small to contain all of the data.

Likewise, the /var/lib/mysql/ibdata1 file is way too small to contain the data.

Where can I look to figure out a) where the data actually is and b) where the ibd files are?

Best Answer

You should look at your my.conf ( /etc/mysql/my.conf by default), note that .sql are text files, which could be larger than the binary form of the database sometimes - depends on the indexes and structure of the SQL dump (numbers are much more efficient in binary form than dumped for example). If you have phpmyadmin, you can see the configuration variables along with the file setup there for example. Otherwise "lsof" should give you the list of open files and you may check where the MySQL writes (could be better seen through "iotop" also).

.idb files are not mandatory - they are created by table optimization/setup, for example by "mysqloptimize" command in ubuntu ...

Related Topic