簡體   English   中英

從數據文件夾備份中恢復 mysql 數據庫

[英]Recovering mysql database from data folder backup

我已經卸載了舊的 XAMPP 並刪除了d:\xampp folder的所有內容並安裝了新的。 當我將備份文件夾(使用我的數據庫名稱,包含所有.frm.opt文件)復制到D:\xampp\mysql\data時,數據庫顯示在 phpmyadmin 的列表中,但它沒有表和數據。 我做錯了什么?

以下是我處理這種情況的方法:

  1. 從 xampp 控制面板停止ApacheMySql服務。
  2. 備份(以防萬一),然后從新的 xampp 安裝文件夾<physical_drive>/xampp/mysql中刪除data文件夾。

    data文件夾包含表的架構/表定義(.frm 文件)。)

  3. mysql下的先前xampp文件夾(或備份)中復制data文件夾並將其粘貼到新位置(即<physical_drive>/xampp/mysql )。
  4. 現在從 xampp 控制面板啟動ApacheMySql服務。

你去吧,當你點擊它們時,表格應該顯示它們的結構。

注意確保您的 xampp 安裝文件夾下的bin文件夾保持不變。

有可能,我找到了解決方案:

  1. 安裝新的 xampp
  2. 將舊數據庫文件夾從 xampp\mysql\data\databasefolder 復制到正在運行的 xampp 文件夾中
    C:\xampp\mysql\數據
  3. 之后停止 mysql 和 apache 服務,然后備份正在運行的 xampp 文件 ib_logfile0、ib_logfile1 和 ibdata1 並存儲在安全的地方
  4. 然后從舊的 xampp\mysql\data\ 復制相同的文件(ib_logfile0、ib_logfile1 和 ibdata1)並粘貼到正在運行的 xampp 服務器 C:\xampp\mysql\data\
  5. 啟動mysql和apache服務 打開CMD Fire命令 C:\xampp\mysql\bin>mysqldump -u dbusername -p dbpassword dbname>D:\exportdb.sql
  6. 停止 mysql 和 apache 服務並恢復您的主 ib_logfile0、ib_logfile1 和 ibdata1 文件(檢查步驟 3)
  7. 之后再次啟動服務並打開http://localhost/phpmyadmin/並從 D:\exportdb.sql 導入數據庫備份現在您的備份正在工作:)
  1. 將所有舊數據庫從舊數據庫復制到此目錄下新安裝的 Xampp

C:\xampp\mysql\數據\

  1. 從新的 xampp (C:\xampp\mysql\data) 復制以下這些文件並保持備份

ib_logfile0、ib_logfile1 和 ibdata1

  1. 同樣將 ib_logfile0、ib_logfile1 和 ibdata1 從舊 xampp 復制並替換到新 xampp

  2. 如果以前的 Db 已經崩潰或 mysqld.exe 之類的錯誤已停止工作,請使用 mysql 的 my.ini 文件中的 2 行以下

    [mysqld]

innodb_force_recovery = 2

innodb_file_per_table=1

  1. 重新啟動 Apache 和 MYSQL 並轉到 PHPMyadmin 以導出您以前的數據庫。
  2. 最后替換之前備份的 ib_logfile0、ib_logfile1 和 ibdata1

在 xampp/mysql/bin/my.ini 中設置 datadir = "D:\xampp\mysql\data"

我遇到了同樣的問題。 我的所有項目都在 mysql 中,但不知何故丟失了。

我的舊 xampp 下的 mysql 以某種方式被刪除/卸載。 我什至沒有要復制到新 xampp 位置的數據文件夾。

我瀏覽了文件夾,在下面的位置找到了 mysql/data 和 mysql/backup。

C:\xampp\perl\mysql\data

C:\xampp\perl\mysql\backup

這就是我所做的。

我復制了這兩個文件夾來代替新的 xampp mysql/data 和 mysql/backup 文件夾。

我還將/mysql下的其他文件(不是文件夾)從舊xampp復制到新xampp /mysql。

如果正在運行,請停止新的 xampp mysql 和 apache 服務器。 重新開始。

Viola 我找回了所有丟失的數據庫。

希望這可以幫助。

我已經找到了解決方案。 我安裝了新的 XAMPP 並將 Apache 中的舊 bin 文件夾和舊 XAMPP 中的 mysql 文件夾替換為新安裝的 Xampp 中的新文件夾我已經恢復了所有數據。

我剛剛從 xampp 文件夾結構中的 mysql 文件夾中復制了 data 文件夾,並將其粘貼到我新安裝的相同結構中,現在一切正常。

我發現這個正在尋找在 Ubuntu 中恢復我的 XAMPP 數據庫的方法。 這個問題顯然是針對 Windows 系統的,但我認為這可能會有所幫助,因為這是唯一好的搜索結果。

對於 /opt/lampp/ 中的標准安裝。 如果您有整個 Lampp 安裝的備份,您可以從文件夾 /opt/lampp/var/mysql/ 恢復數據庫。 (如果沒有,您可以考慮將 mysql 文件夾添加到備份系統中。)

  1. 確保 MySQL 沒有運行。
  2. 將上述文件夾復制到新的 XAMPP 安裝中。
  3. 確保所有者是mysql。
  4. 啟動 MySQL。

您的舊數據庫應該可以再次訪問。

我有類似的問題,Windows os 已損壞。

  1. 安裝新的 xampp,停止服務(apache、mysql)

  2. 將此文件夾和文件從舊復制到新。 地點:

    C:\xampp\mysql\data ib_logfile0、ib_logfile1、ibdata1

  3. 啟動服務。

  4. 只需運行 phpmyadmin 或運行該站點。 它會起作用的!

如果您想首先將一些數據庫從舊 XAMPP 復制到新 XAMPP,請從 XAMPP 控件中停止 Apache 和 MySQL,然后按照以下步驟操作:

  1. 轉到 old_xampp/mysql/data
  2. 復制ibdata1文件
  3. 轉到 new_xampp/mysql/data
  4. 粘貼您已經復制的文件(進行替換)
  5. 轉到 old_xampp/mysql/data 並復制您想要的數據庫文件夾
  6. 轉到 new_xampp/mysql/data 粘貼數據庫文件夾
  7. 重啟 apache 和 MySQL

確保安裝相同版本的mysql。 這真的很重要。 復制文件 ibdata1 和除 mysql 和 perfomance_schema 文件夾之外的數據文件夾。

遇到了我的麻煩,非常感謝你的指南就像巫毒一樣。 但我的我做到了一步

安裝新的 xampp

  1. 將舊數據庫文件夾從 xampp\mysql\data\databasefolder 復制到正在運行的 xampp 文件夾 C:\xampp\mysql\data 中

  2. 之后停止 mysql 和 apache 服務,然后備份正在運行的 xampp 文件 ib_logfile0、ib_logfile1 和 ibdata1 並存儲在安全的地方

  3. 然后從舊的 xampp\mysql\data\ 復制相同的文件(ib_logfile0、ib_logfile1 和 ibdata1)並粘貼到正在運行的 xampp 服務器 C:\xampp\mysql\data\

  4. 打開 http://localhost/phpmyadmin/ 並導出數據庫以供將來備份

我的網站恢復正常運行。

我已經搜索了很多。 還有一些其他文件需要恢復。 我認為僅從 .frm 文件中恢復表是不可能的。 我重新創建了我的數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM