Database corrupt...how to backup?

  • Follow


Hi,
I have a WAMP installation on my local server that I set up a few weeks 
ago (WinXP x32, Apache 2.2.15, MySQL 5.1.45, PHP 5.3.2). Everything was 
working fine for a while, but when I tried to install phpBB3, the 
installation crashed in the final stage and now it seems my database is 
corrupt. I can read the old tables (that were there before the attempt 
to install phpBB3), but phpMyAdmin crashes when I try to access that 
database or when I try to back it up (via phpMyAdmin or mysqldump). I 
have tried some things from the MySQL page 
(http://dev.mysql.com/doc/refman/5.1/en/crashing.html), but did't really 
get very far (though I have not recompiled MySQL yet since I'm not sure 
how).

Here are my questions:
1. In the MySQL help (chapter 6.2), it says one way to back up your data 
is to simply copy the *.frm files in "C:\Documents and Settings\All 
Users\Application Data\MySQL\MySQL Server 5.1\data\username". Does that 
mean I can simply delete them as well?
1.1.:I think if I delete the forum tables, there is a good chance it 
works again - what do you think?

2.: If I backup the *.frm files and reinstall MySQL, can I just copy 
those file over again and that is it? (The manual only describes the 
recovery from an .sql file)
2.1.: ...or should I just install a fresh version of MySQL over the 
existing one?

Thank you in advance for your help!


P.S.: Below is the last part of the error log, sadly I can't make 
anything out of it....

thd: 0x1a3ae18
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
InnoDB: Thread 1188 stopped in file .\os\os0sync.c line 271
InnoDB: Thread 1184 stopped in file .\os\os0sync.c line 574
005AF1D0 
mysqld.exe!ha_innobase::innobase_peek_autoinc()[ha_innodb.cc:7931]
005B0ED3    mysqld.exe!ha_innobase::info()[ha_innodb.cc:6542]
00470D1D    mysqld.exe!get_schema_tables_record()[sql_show.cc:3718]
0047A6AC    mysqld.exe!get_all_tables()[sql_show.cc:3487]
7C91019B    ntdll.dll!RtlAllocateHeap()
01A92A10
01A92A30
01A92A50
01A98F18
01AA5940
01AA5968
01AA5988
01AA59A8
01AA59C8
01AA59E8
01AA5A08
01AA5A28
01AA5A48
01AA5A68
01AA5A88
01AA5AA8
01AA5AD0
01AA5AF0
01AA5B10
01AA5B38
01AA5B60
01AA5B88
01AA5BA8
01AA5BC8
01AA5BE8
01AA5C00
01AA5C28
01AA5C48
01AA5C70
01AA5C90
01AA5CB0
01AA5CD0
01AA5CF8
01AA5D20
01AA5D40
01AA5D68
01AA5D90
01AA5DB8
01AA5DE0
01AA5E00
01AA5E20
01AA5E48
01AA5E70
01AA5E98
01AA5EC0
01AA5EE0
01AA5F08
01AA5F28
01AA5F48
01AA5F68
01AA5F90
01AA5FC0
01AA5FE8
01AA6018
01AA6040
01AA6060
01AA6088
01AA60B0
01AA60D8
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 01A90A80=SHOW TABLE STATUS FROM `markstar`
thd->thread_id=5
thd->killed=NOT_KILLED
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
100519 12:40:32 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
100519 12:40:33  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
100519 12:40:33  InnoDB: Started; log sequence number 0 2232062
100519 12:40:33 [Note] Event Scheduler: Loaded 0 events
100519 12:40:33 [Note] C:\DEV\MySQL\bin\mysqld: ready for connections.
Version: '5.1.45-community'  socket: ''  port: 3306  MySQL Community 
Server (GPL)
100519 17:37:44  InnoDB: MySQL and InnoDB data dictionaries are out of sync.
InnoDB: Unable to find the AUTOINC column witem in the InnoDB table 
markstar/wishlist.
InnoDB: We set the next AUTOINC column value to 0,
InnoDB: in effect disabling the AUTOINC next value generation.
InnoDB: You can either set the next AUTOINC value explicitly using ALTER 
TABLE
InnoDB: or fix the data dictionary by recreating the table.
100519 17:37:45  InnoDB: MySQL and InnoDB data dictionaries are out of sync.
InnoDB: Unable to find the AUTOINC column witem in the InnoDB table 
markstar/wishlist.
InnoDB: We set the next AUTOINC column value to 0,
InnoDB: in effect disabling the AUTOINC next value generation.
InnoDB: You can either set the next AUTOINC value explicitly using ALTER 
TABLE
InnoDB: or fix the data dictionary by recreating the table.
100519 17:37:45  InnoDB: Assertion failure in thread 3544 in file 
..\handler\ha_innodb.cc line 7931
InnoDB: Failing assertion: auto_inc > 0
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.1/en/forcing-recovery.html
InnoDB: about forcing recovery.
100519 17:37:45 - mysqld got exception 0xc0000005 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help 
diagnose
the problem, but since we have already crashed, something is definitely 
wrong
and this may fail.

key_buffer_size=8388608
read_buffer_size=65536
max_used_connections=1
max_threads=100
threads_connected=1
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 
36423 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd: 0x1a555d0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
InnoDB: Thread 1196 stopped in file .\os\os0sync.c line 271
InnoDB: Thread 1192 stopped in file .\os\os0sync.c line 574
005AF1D0 
mysqld.exe!ha_innobase::innobase_peek_autoinc()[ha_innodb.cc:7931]
005B0ED3    mysqld.exe!ha_innobase::info()[ha_innodb.cc:6542]
00470D1D    mysqld.exe!get_schema_tables_record()[sql_show.cc:3718]
0047A6AC    mysqld.exe!get_all_tables()[sql_show.cc:3487]
0047BFD3    mysqld.exe!get_schema_tables_result()[sql_show.cc:6134]
00529A69    mysqld.exe!JOIN::exec()[sql_select.cc:1814]
0052A9A2    mysqld.exe!mysql_select()[sql_select.cc:2487]
0052ACDB    mysqld.exe!handle_select()[sql_select.cc:269]
0045610C    mysqld.exe!execute_sqlcom_select()[sql_parse.cc:5052]
00457E40    mysqld.exe!mysql_execute_command()[sql_parse.cc:2248]
0045C278    mysqld.exe!mysql_parse()[sql_parse.cc:5975]
0045CC93    mysqld.exe!dispatch_command()[sql_parse.cc:1235]
0045D6D7    mysqld.exe!do_command()[sql_parse.cc:878]
0047DEE0    mysqld.exe!handle_one_connection()[sql_connect.cc:1127]
0067E62B    mysqld.exe!pthread_start()[my_winthread.c:85]
0065DB33    mysqld.exe!_callthreadstart()[thread.c:293]
2E302E30
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 01A90448=show table status like 'wishlist'
thd->thread_id=9
thd->killed=NOT_KILLED
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
InnoDB: Thread 1228 stopped in file .\sync\sync0arr.c line 337
100519 17:44:39 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
100519 17:44:40  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
100519 17:44:40  InnoDB: Started; log sequence number 0 2232072
100519 17:44:40 [Note] Event Scheduler: Loaded 0 events
100519 17:44:40 [Note] C:\DEV\MySQL\bin\mysqld: ready for connections.
Version: '5.1.45-community'  socket: ''  port: 3306  MySQL Community 
Server (GPL)
100519 18:06:23 [Note] C:\DEV\MySQL\bin\mysqld: Normal shutdown
0
Reply Mark 5/20/2010 7:13:47 AM

>I have a WAMP installation on my local server that I set up a few weeks 
>ago (WinXP x32, Apache 2.2.15, MySQL 5.1.45, PHP 5.3.2). Everything was 
>working fine for a while, but when I tried to install phpBB3, the 
>installation crashed in the final stage and now it seems my database is 
>corrupt. 

If installing phpBB3 corrupted the database that phpBB3 uses and
nothing else, I'll suggest trying to drop the database that phpBB3
uses (this might fail, but it's worth a try), uninstall phpBB3, and
reinstall it.  If the installation crashed, you can't have that
much valuable data in the phpBB3 database yet.  On the other hand,
your *OTHER* databases may have lots of valuable data, so back those
up first, if possible.

Also consider trying REPAIR TABLE.  It might crash MySQL, or it might
fail, or it might work.

>I can read the old tables (that were there before the attempt 
>to install phpBB3), but phpMyAdmin crashes when I try to access that 
>database or when I try to back it up (via phpMyAdmin or mysqldump). I 

So mysqldump everything *BUT* that database.  One database at a time,
if necessary.

>have tried some things from the MySQL page 
>(http://dev.mysql.com/doc/refman/5.1/en/crashing.html), but did't really 
>get very far (though I have not recompiled MySQL yet since I'm not sure 
>how).
>
>Here are my questions:
>1. In the MySQL help (chapter 6.2), it says one way to back up your data 
>is to simply copy the *.frm files in "C:\Documents and Settings\All 
>Users\Application Data\MySQL\MySQL Server 5.1\data\username". Does that 
>mean I can simply delete them as well?

If you're using InnoDB tables, I wouldn't advise it.  In any case,
try DROP TABLE first.

>1.1.:I think if I delete the forum tables, there is a good chance it 
>works again - what do you think?

Try a DROP DATABASE on the forum database.

>2.: If I backup the *.frm files and reinstall MySQL, can I just copy 
>those file over again and that is it? (The manual only describes the 
>recovery from an .sql file)
>2.1.: ...or should I just install a fresh version of MySQL over the 
>existing one?
0
Reply gordonb 5/30/2010 3:35:23 AM


1 Replies
370 Views

(page loaded in 0.057 seconds)

Similiar Articles:













7/24/2012 2:13:36 PM


Reply: