Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Hi I moved my sites from one windows 2003 to windows 2008 web server. I have some php forum, I copy the data directory of mysql from old server to new one. there are some databases that when I check by PHPmyadmin I see hast 230 tables but when I try to query on some tables, I face error message : TABLE NAMe dose not exist. I check the data folder and frm files exist there. in log file I see this error message:

Log Name:      Application
Source:        MySQL
Date:          07/11/2010 01:34:47 ب.ظ
Event ID:      100
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      00000
Description:
Cannot find or open table 00000/datastore from
the internal data dictionary of InnoDB though the .frm file for the
table exists. Maybe you have deleted and recreated InnoDB data
files but have forgotten to delete the corresponding .frm files
of InnoDB tables, or you have moved .frm files to another database?
or, the table contains indexes that this version of the engine
doesn't support.
See http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html
how you can resolve the problem.


For more information, see Help and Support Center at http://www.mysql.com.  
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="MySQL" />
    <EventID Qualifiers="49152">100</EventID>
    <Level>2</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2010-07-11T09:04:47.000000000Z" />
    <EventRecordID>48742</EventRecordID>
    <Channel>Application</Channel>
    <Computer>vmi386</Computer>
    <Security />
  </System>
  <EventData>
    <Data>Cannot find or open table npshopforum/datastore from
the internal data dictionary of InnoDB though the .frm file for the
table exists. Maybe you have deleted and recreated InnoDB data
files but have forgotten to delete the corresponding .frm files
of InnoDB tables, or you have moved .frm files to another database?
or, the table contains indexes that this version of the engine
doesn't support.
See http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html
how you can resolve the problem.

is there a way that I can recover these database

share|improve this question
1  
Yeah... that's... not how you do it. –  Ignacio Vazquez-Abrams Jul 11 '10 at 9:15
    
Is the Windows 2003 server still up and running ? Do you still have access to the database in that server ? –  proy Jul 11 '10 at 10:38
    
no, server isn't active now –  Ashian Jul 11 '10 at 12:36

1 Answer 1

up vote 0 down vote accepted

This question has already been asked too often but here is the summary:

Dump and load. i.e. Dump the database(s) from the original to file and then load them into the new machine.

MySQL migration using file copies can work but more often than not will cause problems. This is especially the case if you use Innodb tables. Of course you already know that now.

share|improve this answer
    
thanks for your reply.I find the problem, I copied the innodb file (ibdata1) to where I set in innodb_data_home_dir. and now every thins is OK. I copied data files as wrote in mysql web site > database backup. the problem was the innodb_data_home_dir value was diffrent to where I copied the innodb data file and after i correct it,it worked –  Ashian Jul 11 '10 at 12:39

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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