Mysql

從 frm 文件中恢復 MySQL 表

  • August 29, 2013

我很絕望,希望有好心人能救我!我正在處理恢復完全崩潰的伺服器。一切都已備份,除了一個使用 MySQL 的域存在問題(伺服器上沒有其他域使用 MySQL)。伺服器是 Windows 2008,執行 Plesk 9.5。

MySQL 數據庫已恢復(我不確定如何恢復),但 8 個表中只有兩個可用(網站無法連接到其他 6 個,並且通過 PHPMyAdmin 不可見)。

我不是伺服器管理員,我是前端 Web 開發人員,我的伺服器管理員告訴我這 6 個表已被“鎖定”並且無法訪問。我只是急切地想找到一種方法來獲取數據。

基本上,數據已從崩潰的伺服器複製。我們可以訪問舊的 C 盤。在該 C 驅動器上,MySQL 數據庫的數據文件已復製到重建的伺服器。所以在重建的伺服器上,我們有這個文件夾:

C:\Program Files (x86)\Parallels\Plesk\Databases\MySQL\Data

此文件夾中有以下文件夾/文件:

/my_database
   /tblnews.MYD
   /tblpage.MYD
   /tblhospice.frm
   /tblevent.frm
   /tblpage.frm
   /tblnews.frm
   /tblgallery.frm
   /tbleventcategory.frm
   /tblhospiceregion.frm
   /tbleventregion.frm
   /tblnews.MYI
   /tblpage.MYI
   /db.opt

/mysql
   / *loads of frm, MYD and MYI files, such as 'columns_priv.frm', 'func.frm' etc.

/ib_logfile0
/ib_logfile1
/ibdata1
/my.ini
/Server5797.err
/Server5797.pid

正在工作的兩個表是 tblnews 和 tblpage。這些也有 MYI 和 MYD 文件。6 個不起作用的表是只有 .frm 文件的表。

有什麼辦法可以從這裡的任何地方獲取數據來恢復 6 個無法訪問的表?我可以通過某種方式在本地 PC 上獲取工作副本並將數據腳本化?

非常感謝任何人都可以為此提供的任何幫助。我真的,真的很感激。

我可以確認確實可以僅使用.frmibdata1文件來恢復數據。見這裡: http: //www.nerdydork.com/restoreing-mysql-innodb-files-on-windows.html。我的解決方案有點困難,我的配置設置等都在不同的地方,但一般來說,這個解決方案對我有用……也救了我的命;)

這些.frm文件只是表定義,不包含任何數據,因此您無法從中恢復數據。您將需要掌握.MYD失去的文件,您可以從中恢復.MYI文件。

如果沒有 .MYD 文件或合適的備份/轉儲,您將沒有數據。

引用自:https://serverfault.com/questions/440686