1

After a management over-sight, the hard disk utilization of the mysql server went to 100%. In panic, I shut down most of the services - including mysqld, which I guess caused this problem. Subsequently, I deleted files to make space. With more than 1GB available, I attempted to start mysqld but it just couldn't start. The errors stated in the log were:

[ERROR] [MY-012209] [InnoDB] Multiple files found for the same tablespace ID:
[ERROR] [MY-012202] [InnoDB] Tablespace ID: 23 = ['archive/transaction_archive_1.ibd', 'log/transaction_15.ibd']
[ERROR] [MY-012202] [InnoDB] Tablespace ID: 123 =
['archive/order_archive_1.ibd', 'log/cart_15.ibd']
[ERROR] [MY-012202] [InnoDB] Tablespace ID: 406 = ['archive/pay_archive_8.ibd', 'log/cart_20.ibd']
[ERROR] [MY-012202] [InnoDB] Tablespace ID: 419 = ['archive/pay_archive_9.ibd', 'log/cart_64.ibd']
[ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Failed, retry may succeed.
[ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine
[ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
[ERROR] [MY-010119] [Server] Aborting
[System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.13)  MySQL Community Server - GPL.

'archive' and 'log' are two separate databases. Setting 'innodb_force_recovery' from 1 to 6 did not help. Any suggestions on how to recover this? The server is running on Linux and MySQL is v8.0.13. Thanks.

0

I finally managed to get mysql server to start but I cannot be sure this was the best way.

First, I decided that the 'log' database tables were more important than 'archive' tables. I moved the four affected files - archive/transaction_archive_1.ibd, archive/order_archive_1.ibd, archive/pay_archive_8.ibd, archive/pay_archive_9.ibd) to a temporary location. When I started mysqld, there was a long wait (I think it was performing undos and other stuff) and there were complaints of missing ibd files - which was expected. But the server started nevertheless.

I then backed up the four affected tables of the 'log' database. The affected 'archived' tables were there but was unable to query any data from it ('tablespace missing' error). Next, I shut down mysql and swapped the ibd files - moved the 'archive' ibd files back and removed the 'log' ibd files. The mysqld started with complaints of missing ibd files again. This time, I went to mysql console and dropped the four affected 'log' tables. Then I restored these four tables from the backups I just did a while ago.

Could not be 100% sure no data were lost.

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.