MySQL Backup – Restoring Database from Small ibdata1 File

backupinnodbMySQLrestore

I've got a database from a dead Rasperry Pi, which I want to restore. As it doesn't boot anymore because of a damaged SD card, I only could recover the data files, but not do a normal dump. The server which ran before on the Pi is now supposed to run on a Windows PC here. Therefore I installed XAMPP and tried to use the old data files, but with

    ...
    innodb_data_file_path = ibdata1:10M:autoextend
    ...

I get only

    [ERROR] InnoDB: auto-extending data file D:\xampp\mysql\data\ibdata1
    is of a different size 512 pages (rounded down to MB) than specified
    in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages!

The size of the ibdata1 file is only 8MB, so I tried setting the size to this, but then MySQL complains, that the tablespace should be at least 10MB.

Is there any way to recover that data? E.g. extending the ibdata1 file manually?

Best Answer

The problem was not that the file was too small, but that it was incomplete. The original file has 90MB, but the copying failed because of the SD card failures.