僅使用 ibdata1 文件恢復數據庫
我需要分析客戶的數據,並且針對該要求,客戶只為我們提供了大小約為 150MB 的 ibdata1 文件。
到目前為止,我不知道表結構和表數。經過一些研究,我發現我需要 .frm 文件才能重新創建表。
我有以下問題:
- 有沒有辦法只用 ibdata1 文件恢復數據庫?
- 除了 .frm 文件和 ibdata1 文件之外,我還需要任何其他文件來恢復數據庫嗎?
- 假設我可以只使用 ibdata1 文件恢復數據庫,或者我以後獲得 .frm 文件,我是否需要安裝與客戶端 MySQL 版本匹配的版本?
謝謝!
如果您的客戶無法為您提供適當的數據庫轉儲,那麼他們要求您執行的任何任務都將花費更長的時間和成本,超出任何人都應該願意容忍的程度。
有沒有辦法只用 ibdata1 文件恢復數據庫?
⇢ 是的,但並非沒有大量工作。那些不想從訴訟中拯救價值數十億美元的公司的人永遠不必這樣做。
除了 .frm 文件和 ibdata1 文件之外,我還需要任何其他文件來恢復數據庫嗎?
⇢
.frm
文件包含數據庫的定義。該ibdata1
文件可以包含許多數據庫(取決於 MySQL 的配置方式)。如果必須僅使用ibdata1
和.frm
文件恢復數據庫,則需要將所有文件都放在正確的目錄中。只要您的 MySQL版本與客戶端執行的版本完全相同或稍新,您就可以從那裡恢復。請注意,從外部 MySQL 安裝恢復
ibdata
和.frm
文件將刪除您已經在接收電腦上配置的任何數據庫。假設我可以只使用 ibdata1 文件恢復數據庫,或者我以後獲得 .frm 文件,我是否需要安裝與客戶端 MySQL 版本匹配的版本?
⇢ 這在上一位中已回答。雖然從早期版本的 MySQL 中獲取一個和隨附的文件併升級它們在技術上是可行的,但在跳轉大量版本時可能會出現問題。例如,從 MySQL 5.3.x 升級到 8.0.24 幾乎肯定會失敗,除非源數據庫的結構更像 CSV 而不是一系列關係表。
ibdata1``.frm
如果您的客戶端能夠訪問 MySQL 伺服器,請讓他們使用 MySQLDump 創建適當的備份並將該文件提供給您。這樣您就不必擔心版本或其他任何事情。每個人都會節省時間和麻煩。