Mariadb

MariaDB - 導入原始 InnoDB frm/ibd 文件?

  • September 2, 2018

下午好。

我的 Debian 9 伺服器遇到了導致作業系統無法訪問的問題,我設法為我的項目提取了所有原始數據庫文件 (/var/lib/mysql),但不幸的是引擎類型設置為 InnoDB。

有沒有機會我可以以某種方式恢復數據庫?謝謝。

如果您擁有全部/var/lib/mysql內容,那麼您可能應該嘗試將目前內容完全替換為/var/lib/mysql您擁有的內容。

根據您的 mariadb/mysql 選項,部分或全部 innodb 數據是全域的並儲存在/var/lib/mysql/ibdata1, 和/var/lib/mysql/ib_logfile文件中。所以僅僅恢復/var/lib/mysql/databasename/table*通常不足以恢復innodb數據。

如果您已經恢復或開始使用該目錄,您可以暫時將該目錄的目前內容移動到另一個位置。或者甚至更好地在虛擬機中臨時啟動一台新機器,或者在/var/lib/mysql不中斷任何東西的情況下測試恢復整個目錄的東西。

將舊數據放入後,/var/lib/mysql您應該能夠啟動伺服器並希望提取您的數據。您可能需要使用繞過權限的選項來啟動 mariadb,具體取決於您的權限鎖定程度。不過我不會繼續使用它,而是建議您使用 mysqldump 或您喜歡的工具轉儲數據庫,然後將其重新導入生產數據庫。

當您將內容移回並確保 mysql/mariadb 服務帳戶(通常為 mysql/mysql)擁有並具有對所有文件的讀寫訪問權限時。

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