MySQL is trying to open a table handle but the .ibd file does not exist
So I have a problem with the mysql database of zimbra because our hoster had a server crash. I see the following error in the mysql log file:
It seems that 2 tables are affected. The mysql database is still working but it crashes often when users are working. I have visited the pages that the log sais but the information there, especially
120710 18:11:54 InnoDB: error: space object of table'mboxgroup57/imap_folder',
InnoDB: space id 2192 did not exist in memory. Retrying an open.
InnoDB: Error: space id in fsp header 1326254643, but in the page header 926233168
120710 18:11:54 InnoDB: Error: tablespace id and flags in file './mboxgroup57/imap_folder.ibd' are 18446744073709551615 and 1800941417, but in the InnoDB
InnoDB: data dictionary they are 2192 and 0.
InnoDB: Have you moved InnoDB .ibd files around without using the
InnoDB: commands DISCARD TABLESPACE and IMPORT TABLESPACE?
InnoDB: Please refer to
InnoDB: for how to resolve the issue.
120710 18:15:39 [ERROR] /opt/zimbra/mysql/libexec/mysqld: Incorrect information in file: './mboxgroup57/imap_folder.frm'
120710 18:19:44 InnoDB: cannot calculate statistics for table mboxgroup45/appointment
InnoDB: because the .ibd file is missing. For help, please refer to
120710 18:19:44 [ERROR] MySQL is trying to open a table handle but the .ibd file for
table mboxgroup45/appointment does not exist.
Have you deleted the .ibd file from the database directory under
the MySQL datadir, or have you used DISCARD TABLESPACE?
how you can resolve the problem.
is not sufficient for me. I don't know how to create a .frm file in another db directory. I barely have a clue about mysql. When I try
Create a matching .frm file in some other database directory and copy it to the database directory where the orphan table is located.
Issue DROP TABLE for the original table. That should successfully drop the table and InnoDB should print a warning to the error log that the .ibd file was missing.
it sais I need to use the option password, which is ironic because I don't know the zimbra password and the root user doesn't have access to the db. What can I do? I'm really lost here especially because it is a productive server with many users and my time windows I get to work on the problem are always limited. I haven't tried the disaster recovery described in the wiki because 1) I don't know for which versions it acually works 2) I'm afraid nothing will work afterwards.
/opt/zimbra/mysql/bin/mysqlcheck -c --databases mboxgroup57 mboxgroup45 --socket /opt/zimbra/db/mysql.sock
Thank you so so much in advance for helping me. If you need any information just tell me and I'll try to get it.