2011-09-23 64 views
1

我知道,試圖通過複製數據文件夾來導出數據庫真的很難過!但我有一個重要的數據庫裏面的硬盤,我不知道如何將此數據庫導出到我的實際系統(winxp - mysql 5.0.37)。如何從硬盤導出MySQL數據庫(數據文件夾)?

所以,我複製old_harddisk /程序/ MySQL的/數據/ coge2010到MYPC /程序/ MySQL的/數據/ coge2010

結果:

  • 我看到cogemilla(4)我的phpMyAdmin的數據庫彙總(這是正確的!我的4個表!)
  • 如果我點擊數據庫,我看到的只是1臺
  • 上的MySQL錯誤日誌文件,我覺得像這樣的消息(哦不!):「 ... [錯誤]無法從內部數據字典中找到表coge2010/soci儘管InnoDB的.frm文件存在,但仍存在。也許您已經刪除並重新創建了InnoDB數據文件,但忘記刪除InnoDB表的相應.frm文件,或者您已將.frm文件移動到另一個數據庫?見http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting.html你如何解決這個問題。」

任何想法?

+0

嘗試單獨重建的模式。這可能是因爲模式不可用的錯誤 – Kris

回答

2

你應該創建轉儲並導入新的服務器上。

在命令提示符處鍵入以下命令來創建轉儲文件:

mysqldump -h host -u user -p databaseName > dumpFile.sql 

導入數據庫:

mysql -h host -u user -p databaseName < dumpFile.sql 
+0

該數據庫位於舊筆記本電腦的硬盤上(筆記本電腦已經死機) –

0

This post可能對您有所幫助。

Another post哪些可以幫到你。

一個mysql表由3個文件(FRM/MYD/MYI)定義。在你的情況下,FRM文件丟失到數據庫文件夾中。

如果您可以運行舊硬盤的mysql服務器,則更容易執行數據庫轉儲。 The following link告訴你如何做到這一點

0

你只能複製InnoDB表,如果: 1.您的數據庫已停止。 2.複製所有的InnoDB文件(ibdata * ib_logfile * /*.ibd

你可以使用dump /恢復複製一個表。

你可以用戶 'ALTER TABLE sometable ENGINE = MyISAM的' 轉換它的MyISAM,然後複製MYI,MYD和FRM。

的Percona XtraBackup能做到單臺還原如果你使用的Percona Server中。

相關問題