Hi everyone, I had lost my database. I had recover the database folder using third-party recovery tool, and it had successfully recovered all the .frm and .idb files. I have no ibdata1 file. How can I recover the database. Please help me
Is there any chance that you have any logical, physical, or binary log backups available?
If you don’t have a base backup, this is probably non-recoverable. The ibdata1 file is critical to the operation of InnoDB. Without it, InnoDB has no knowledge of the tables in your database. Even if you have the .ibd files, they must be imported into InnoDB, but in order to do that, you must have the .cfg files which are created during table export.
If you only recovered the .frm and .ibd files and the ibdata1 file is missing, recovery depends entirely on how InnoDB was configured. If innodb_file_per_table was enabled, the table data resides in the individual .ibd files, and you may be able to recover the database by recreating the exact table definitions on the same MySQL version and using the DISCARD TABLESPACE / IMPORT TABLESPACE method to attach the recovered .ibd files. This is a manual process and only works if the table structure and metadata match exactly. If innodb_file_per_table was not enabled, then the actual data lived inside ibdata1, and without that file the database cannot be reconstructed from .frm and .ibd files alone. A third-party recovery tool like Stellar Repair for MySQL can only help if it is able to physically recover the original ibdata1 file from disk (for example, if it was deleted but not overwritten); it cannot recreate ibdata1 logically. If ibdata1 cannot be recovered, the remaining options are low-level InnoDB parsing tools or a professional recovery service.