從 frm 文件中恢復 MySQL 表
我很絕望,希望有好心人能救我!我正在處理恢復完全崩潰的伺服器。一切都已備份,除了一個使用 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 上獲取工作副本並將數據腳本化?
非常感謝任何人都可以為此提供的任何幫助。我真的,真的很感激。
我可以確認確實可以僅使用
.frm
和ibdata1
文件來恢復數據。見這裡: http: //www.nerdydork.com/restoreing-mysql-innodb-files-on-windows.html。我的解決方案有點困難,我的配置設置等都在不同的地方,但一般來說,這個解決方案對我有用……也救了我的命;)
這些
.frm
文件只是表定義,不包含任何數據,因此您無法從中恢復數據。您將需要掌握.MYD
失去的文件,您可以從中恢復.MYI
文件。如果沒有 .MYD 文件或合適的備份/轉儲,您將沒有數據。