MariaDB - 導入原始 InnoDB frm/ibd 檔案?

MariaDB - 導入原始 InnoDB frm/ibd 檔案?

午安.

我的 Debian 9 伺服器遇到了導致作業系統無法存取的問題,我設法為我的專案提取所有原始資料庫檔案 (/var/lib/mysql),但不幸的是引擎類型設定為 InnoDB。

我是否有機會以某種方式恢復資料庫?謝謝。

答案1

如果您擁有完整的內容/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)擁有所有檔案並對所有檔案具有讀寫存取權。

相關內容