1

recently my PC powered off abruptly for no apparent reason, leaving my Windows 7 installation severly damaged. I can still log onto the machine, but tons of Windows system files have been corrupted and I have no other choice than performing a repair install of Windows.

At the same time, my MySQL 5.5.31 instance running on this system has been damaged. I am not sure if it's just the MySQL installation that got damaged, or the data itself. What I can say is that while the serve was certainly running during the shutdown, it did not perform any tasks at that time.

What happens now is that when I try to run mysqldump from MySQL Workbench, it aborts after a couple of tables saying that it has lost the connection to the server.

Most tables are InnoDB, a few MyISAM.

How can I repair the installation and recover my data? Should I uninstall and re-install?

Appreciate your help.

EDIT: These are the two errors I get from the error event log in MySQL Workbench: "InnoDB: Page checksum 3072680322, prior-to-4.0.14-form checksum 1925954319 InnoDB: stored checksum 24388168, prior-to-4.0.14-form stored checksum 1077079361 InnoDB: Page lsn 3225980244 611338381, low 4 bytes of lsn at page end 2304517124 InnoDB: Page number (if stored to page already) 2370756659, InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 4293596229"

"InnoDB: Assertion failure in thread 3988 in file page0page.ic line 745 InnoDB: We intentionally generate a memory trap. InnoDB: Submit a detailed bug report to http://bugs.mysql.com. InnoDB: If you get repeated assertion failures or crashes, even InnoDB: immediately after the mysqld startup, there may be InnoDB: corruption in the InnoDB tablespace. Please refer to InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html InnoDB: about forcing recovery."

Steve06
  • 285
  • 2
  • 5
  • 10
  • How big is the dump file going to be? How long has it run before timing out? MySQL workbench has a DBMS keep alive time interval of 600 seconds by default. – apesa May 05 '13 at 14:02
  • I think the total dump file size would be around 10 GB (in fact I always dump each table individually rather than having one big file). It runs about 30 seconds before timing out, in any case far earlier than 600s (=10 minutes). – Steve06 May 05 '13 at 14:11
  • You have no errors in MySQL Workbench? If not I might reinstall MySQL at the same version level first and then try to execute a dumpfile as you have before. In Windows I think you should just be able to rerun Install and have it take you to a Install / Remove / Repair option. – apesa May 05 '13 at 15:09
  • I have added the two errors from the error event log inMySQL Workbench above. – Steve06 May 06 '13 at 03:22
  • Based on your error you do not have a connection problem, you have a corruption problem. You should follow the innodb_force_recovery option. Look here http://dba.stackexchange.com/questions/24477/innodb-corruption – apesa May 06 '13 at 13:48
  • Yes, I also figured out this is a case of corruption since removing and reinstalling the server did not help. I've googled the issue on the internet but am still not quite clear how to narrow down which tables are affected (or which are not). Can somebody think of a query that checks each table (of 200) and moves on to the next by reconnecting the server, even if it disconnects after stumbling over a corrupted one? – Steve06 May 06 '13 at 14:31
  • Have you searched here.. as I have and found at least 20 direct hits for this issue. Both this site as well as Stackoverflow have your answer. I am using comments because I don't run Windows and don't know for sure how you will go about Forced Recovery. But the concept is the same. Dump your tables, recover your data and determine via debugging your DDL which table(s) are corrupt and fix them. If you searched before asking you might have determined the issue prior to framing your question. – apesa May 06 '13 at 14:57
  • I have found this topic http://dba.stackexchange.com/questions/6191/how-do-you-identify-innodb-table-corruption interesting, especially the code snippet in the top reply. Unfortunately I do not where to execute it, that is I'm not sure if it's Percona-proprietary. I tried it in the scripting shell of MySQL Workbench but it reports invalid syntax. – Steve06 May 06 '13 at 16:28
  • There is nothing Percona Propietary in that reply except the fast checksum routine. It is basically showing you how to proactively run innochecksum which mYSQL is already doing for you. You could try to run that outside MySQL with the DB shutdown and no DB files open. It may come back with more error details, that could help. – apesa May 06 '13 at 19:51

0 Answers0