mysql資料庫如何進行恢復(mysql怎麼恢復資料庫)

本文目錄一覽:

把mysql資料庫刪了,請問可以恢復嗎

1.如果有備份,恢復備份數據就可以。

2.如果在企業管理器里刪除了資料庫,如果有備份,恢復備份數據就可以。

3. 如果你是在程序里卸載sql程序,數據就在sql安裝目錄里,附加資料庫就可以了。

4.如果備份數據都沒有,可以找個硬碟數據恢復公司。

如何使用MYSQL資料庫進行備份數據恢復

恢復整個資料庫

首先,如果要恢復的資料庫是含有授權表的mysql資料庫,將需要使用–skip-grant-tables選項運行伺服器。否則,伺服器將抱怨無法找到授權表。在恢復表之後,執行mysqladmin flush-privileges 來告訴伺服器載入授權表,並用它們啟動。

將原資料庫目錄的內容拷貝到其他的地方。例如,您可能會在稍後用它們進行崩潰表的事後分析檢查(post-mortem examination)。

用最新的備份文件重新載入資料庫。如果您打算使用由mysqldump 載入的文件,則需要將它們作為mysql的輸入。如果打算使用從資料庫中直接拷貝的文件(如,用tar 或c p),則將它們直接拷貝回到該資料庫目錄中。但是,在這種情況下,應該在拷貝這些文件之前關閉伺服器,然後再重新啟動它。

用更新日誌重做在進行備份後又修改了資料庫表的查詢。對於所有可用的更新日誌,可使用它作為mysql的輸入。指定–one-database 選項,使mysql只對想要恢復的資料庫執行查詢。如果您知道需要使用所有的更新日誌文件,可在包含日誌的目錄中使用下列命令:

% ls-t-r-l update.(0-9)* | xargs cat | mysql–one-database db_name

ls 命令產生更新日誌文件的單列列表,更新日誌文件根據伺服器生成的順序進行排序(要知道,如果您修改了其中的任何文件,排序的順序都將改變,這將導致更新日誌按錯誤的順序使用)。

您很可能必須使用某些更新日誌。例如,如果自備份以來所產生的日誌命名為update.392、pdate.393 等等,可以重新運行它們中的命令:

% mysql–one-database db_name updata.392

% mysql–one-database db_name updata.393

如果正在運行恢復並打算使用更新日誌恢復由於失策的DROP DATA BASE、DROPTABLE或DELETE 語句而丟失的信息,應確保先從更新日誌中刪除這些語句。

恢復單個的表

恢復單個表是很困難的。如果有通過mysqldump 生成的備份文件並且它恰好不包含您想要的表數據,則需要抽取相關的行並用它們作為mysql的輸入,這部分較容易。困難的是抽取應用於該表的更新日誌的片段。您會發現: mysql_find_rows 實用程序對這方面有幫助,它可以從更新日誌中抽取多行查詢。

另一種可能性是用另一個伺服器恢復整個資料庫,然後將所要的該表的文件拷貝到原始資料庫中。這實際很容易!在將文件拷貝回資料庫目錄時,應確保原始資料庫的伺服器關閉。

mysql的數據刪除後怎麼恢復

如果你要恢復的資料庫是包含授權表的mysql資料庫,您將需要使用–skip贈款-tables選項來運行伺服器恢復整個資料庫

– 首先,。否則,伺服器會抱怨不能找到授權表。恢復表後,執行mysqladmin沖水privileges告訴伺服器裝載授權表,並用它們來啟動。資料庫目錄到其他地方的原始內容

複製。例如,您可以使用它們在以後的事後分析檢查表(驗屍)的崩潰。

酒店與最新的資料庫備份文件重新載入。如果您打算使用mysqldump的所載入的文件,則需要輸入它們作為mysql的。如果您打算使用從資料庫文件直接拷貝(例如,使用tar或CP),它會複製他們直接回資料庫目錄中。然而,在這種情況下,你應該在關閉之前,該伺服器複製這些文件,然後重新啟動它。在備份過程中

重做日誌,然後查詢更新資料庫表中。對於所有可用的更新日誌,你可以使用它作為mysql的輸入。指定–one-database選項,因此MySQL只是要還原的資料庫執行查詢。如果你意識到有必要使用所有的更新日誌文件,可以使用包含以下命令日誌的目錄:

%LS-TRL更新(0-9)* | xargs的貓| mysql–。一個資料庫DB_NAME

ls命令生成一個單獨的日誌文件更新列表,更新日誌文件根據伺服器(你知道,如果你其中的任何文件,排序順序生成的順序進行排序會發生變化,這將導致在更新日誌中以錯誤的順序使用)。有限公司您可能需要使用一些更新日誌。例如,如果日誌,因為命名update.392備份,pdate.393等產生的,可以在命令重新運行它們:

%的mysql – 一個資料庫DB_NAME 錄入。 392

%的mysql – 一個資料庫DB_NAME updata.393 …

如果您正在運行的恢復,並打算使用更新日誌恢復由於失誤降數據的基礎上,DROPTABLE或DELETE語句和丟失的信息時,一定要在開始更新日誌刪除這些語句。

恢復單個表

恢復單個表是非常困難的。如果是的mysqldump備份文件生成的,它只是不包含數據,您需要一個表,你需要提取的相關線路,並利用它們作為mysql的輸入,這部分比較容易。困難的是,提取在該表的更新日誌中使用的片段。你會發現:mysql_find_rows工具在這方面有所幫助,它可以提取多行從更新日誌查詢。另一種可能性是使用另一台伺服器

恢復整個資料庫,然後將該文件複製到表的原始資料庫。這其實很容易!當文件被複制回資料庫目錄,確保原始資料庫伺服器關閉。

怎麼恢復mysql資料庫怎麼恢複數據

簡單情況下:進入原來mysql安裝路徑下的data文件夾下,找到相應的庫和ibdata1,進行copy,就可回復原來的數據。

複雜情況下:

從另一台機上把MySQL資料庫的mysql文件夾拷貝到本地機上,目的是恢複本地機對數據的訪問和操作。經過如下幾種情況的操作。

1. 在本地重裝MySQL(安裝目錄D:\Program Files\MySQL\MySQL Server 5.0),直接把mysql文件夾拷貝至D:\Program Files\MySQL\MySQL Server 5.0\。結果,失敗:資料庫連接錯誤。

2. 卸載後重裝MySQL,將D:\Program Files\MySQL\MySQL Server 5.0\下的數據備份,只把mysql\data文件夾全部內容拷貝到D:\Program Files\MySQL\MySQL Server 5.0\data下。結果,失敗:資料庫連接錯誤。將備份的數據還完覆蓋。結果,失敗,還是連接不上資料庫。

3. 卸載後重裝MySQL,將mysql\data文件夾里的cf1,last文件夾(這兩個是原來MySQL里的資料庫)拷貝進D:\Program Files\MySQL\MySQL Server 5.0\data。連接成功,在Navicat for MySQL里看到資料庫cf1和last,但是不能訪問,因為數據全為零。明白了原來data里以資料庫命名的文件存儲的是資料庫的表結構,不是元數據。下一步,把data文件夾里的ibdata1文件(3.4G大,明顯存儲了元數據)拷貝到D:\Program Files\MySQL\MySQL Server 5.0\data里,代替原來的ibdata1文件。重啟電腦,打開Navicat for MySQL,連接成功,數據可以訪問操作。

至此,操作終於成功。其實當初在那台機上把數據導出來,而不是現在直接把文件夾mysql複製過來會更容易恢復。但那台機已經重裝了系統,也就是說MySQL失效了。

怎麼恢復mysql資料庫

簡單情況下:進入原來mysql安裝路徑下的data文件夾下,找到相應的庫和ibdata1,進行copy,就可回復原來的數據。

複雜情況下:

從另一台機上把mysql資料庫的mysql文件夾拷貝到本地機上,目的是恢複本地機對數據的訪問和操作。經過如下幾種情況的操作。

1.

在本地重裝mysql(安裝目錄d:\program

files\mysql\mysql

server

5.0),直接把mysql文件夾拷貝至d:\program

files\mysql\mysql

server

5.0\。結果,失敗:資料庫連接錯誤。

2.

卸載後重裝mysql,將d:\program

files\mysql\mysql

server

5.0\下的數據備份,只把mysql\data文件夾全部內容拷貝到d:\program

files\mysql\mysql

server

5.0\data下。結果,失敗:資料庫連接錯誤。將備份的數據還完覆蓋。結果,失敗,還是連接不上資料庫。

3.

卸載後重裝mysql,將mysql\data文件夾里的cf1,last文件夾(這兩個是原來mysql里的資料庫)拷貝進d:\program

files\mysql\mysql

server

5.0\data。連接成功,在navicat

for

mysql里看到資料庫cf1和last,但是不能訪問,因為數據全為零。明白了原來data里以資料庫命名的文件存儲的是資料庫的表結構,不是元數據。下一步,把data文件夾里的ibdata1文件(3.4g大,明顯存儲了元數據)拷貝到d:\program

files\mysql\mysql

server

5.0\data里,代替原來的ibdata1文件。重啟電腦,打開navicat

for

mysql,連接成功,數據可以訪問操作。

至此,操作終於成功。其實當初在那台機上把數據導出來,而不是現在直接把文件夾mysql複製過來會更容易恢復。但那台機已經重裝了系統,也就是說mysql失效了。

如何使用mysql資料庫進行備份數據恢復

恢復整個資料庫首先,如果要恢復的資料庫是含有授權表的mysql資料庫,將需要使用–skip-grant-tables選項運行伺服器。否則,伺服器將抱怨無法找到授權表。在恢復表之後,執行mysqladmin flush-privileges 來告訴伺服器載入授權表,並用它們啟動。將原資料庫目錄的內容拷貝到其他的地方。例如,您可能會在稍後用它們進行崩潰表的事後分析檢查(post-mortem examination)。用最新的備份文件重新載入資料庫。如果您打算使用由mysqldump 載入的文件,則需要將它們作為mysql的輸入。如果打算使用從資料庫中直接拷貝的文件(如,用tar 或c p),則將它們直接拷貝回到該資料庫目錄中。但是,在這種情況下,應該在拷貝這些文件之前關閉伺服器,然後再重新啟動它。用更新日誌重做在進行備份後又修改了資料庫表的查詢。對於所有可用的更新日誌,可使用它作為mysql的輸入。指定–one-database 選項,使mysql只對想要恢復的資料庫執行查詢。如果您知道需要使用所有的更新日誌文件,可在包含日誌的目錄中使用下列命令:% ls-t-r-l update.(0-9)* | xargs cat | mysql–one-database db_namels 命令產生更新日誌文件的單列列表,更新日誌文件根據伺服器生成的順序進行排序(要知道,如果您修改了其中的任何文件,排序的順序都將改變,這將導致更新日誌按錯誤的順序使用)。您很可能必須使用某些更新日誌。例如,如果自備份以來所產生的日誌命名為update.392、pdate.393 等等,可以重新運行它們中的命令:% mysql–one-database db_name updata.392% mysql–one-database db_name updata.393…如果正在運行恢復並打算使用更新日誌恢復由於失策的DROP DATA BASE、DROPTABLE或DELETE 語句而丟失的信息,應確保先從更新日誌中刪除這些語句。恢復單個的表恢復單個表是很困難的。如果有通過mysqldump 生成的備份文件並且它恰好不包含您想要的表數據,則需要抽取相關的行並用它們作為mysql的輸入,這部分較容易。困難的是抽取應用於該表的更新日誌的片段。您會發現: mysql_find_rows 實用程序對這方面有幫助,它可以從更新日誌中抽取多行查詢。另一種可能性是用另一個伺服器恢復整個資料庫,然後將所要的該表的文件拷貝到原始資料庫中。這實際很容易!在將文件拷貝回資料庫目錄時,應確保原始資料庫的伺服器關閉。

原創文章,作者:VML5K,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/128644.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VML5K的頭像VML5K
上一篇 2024-10-03 23:25
下一篇 2024-10-03 23:25

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • Python怎麼導入資料庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的資料庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論