mysql數據庫被誤刪(mysql數據庫被誤刪了表數據怎麼恢復)

本文目錄一覽:

MySQL+workbench+local+instance誤刪怎麼找回?

恢復整個數據庫首先,如果要恢復的數據庫是含有授權表的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 實用程序對這方面有幫助,它可以從更新日誌中抽取多行查詢。另一種可能性是用另一個服務器恢復整個數據庫,然後將所要的該表的文件拷貝到原始數據庫中。這實際很容易!在將文件拷貝回數據庫目錄時,應確保原始數據庫的服務器關閉。

MySQL誤刪數據後切勿跑路

誤刪數據的幾種操作

如何事前預防誤刪數據?

誤刪行數據恢復

誤刪行數據恢復可以使用 Flashback工具 。

Flashback恢複數據的原理是通過修改binlog內容,拿回原庫進行回放,前提是 binlog_format=row和binlog_row_image=FULL 。

在使用Flashback進行恢復的時候, 不建議在主庫上進行操作 ,比較安全的做法是恢復出一個備份,或者找一個從庫作為臨時庫,在這個臨時庫上執行操作,然後再將確認過的臨時庫的數據恢復到主庫。

誤刪庫/表

drop table或者truncate table誤刪數據表 無法通過Flashback工具恢復 ,因為binlog_format的格式即使是ROW模式,在binlog中記錄的也只是一條drop table或者truncate語句,因此無法進行恢復。

此時恢復的方式需要 全量備份加增量日誌的方式進行恢復 ,因此要求數據有定期的全量備份,並且實時備份binlog。

假如某人在中午12點誤刪除了一個庫里的某張表,恢複數據的流程如下:

mysqlbinlog恢複數據慢的原因?

如何更快的恢復誤刪的表?

在用備份恢復出臨時實例以後,將這個臨時實例設置成線上備庫的從庫:

假設此時備庫的binlog已經被刪除,那麼需要去binlog備份系統找到刪掉的日誌文件拷貝到日誌目錄下,假設文件名是master.000001,打開日誌目錄下的binlog的index文件,在開頭加入master.000001,讓備庫重新識別此日誌文件

延遲複製備庫

以上恢復都具有時間不可控性,如果採用上述步驟進行恢復,建議開發成工具(甚至可以做自己的DBA自動化平台),並大量測試後進行使用,避免手動誤操作帶來更大的問題。

一般的主備複製存在的問題是,假設主庫上的表被刪除,這個命令很快會被發給所有從庫,進而導致從庫的數據表也被一起誤刪除。

延遲複製備庫 是可以持續保持與主庫有N秒延遲的備庫 。

假設這裡N=3600,那麼表示只要在1個小時以內發現了誤刪除,就可以的到備庫上執行stop slave,再通過之前講到的方法,跳過誤操作的命令(比如將誤刪除的GTID加到實例集合中),就可以恢復出需要的數據。

rm誤刪

只要你的集群是高可用,如果rm刪除了某個節點(只要不是惡意刪除所有節點),HA系統會自動開始工作,選出一個新的主庫,從而保證集群工作。

把mysql數據庫刪了,請問可以恢復嗎

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

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

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

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

不小心刪掉了mysql數據庫怎麼辦

mysql數據庫不小心還原了需要按照以下步驟恢復。

1、先確認mysql有沒有啟用bin日誌 ,就是看下mysql.ini(my.cnf)里的log-bin=mysql-bin, 可以 自定義一個目錄和前綴名,比如/data/log/mylog這樣。

2、然後在數據庫文件存放的data目錄就能看到mysql-bin.00000x這樣的文件,這就是二進制日誌了,可以導出成txt格式的,裡面其實就是對數據庫的各種操作sql語句。

3、導出txt文件:

e:\wamp\bin\mysql\mysql5.6.12\binmysqlbinlog

–database=testdatabase

e:\wamp\bin\mysql\mysql5.6.12\data\mysql-bin.000312

c:\\test1.txt

這是windows下的導出,linux也是類似的。

database=數據庫名

從最早的日誌還始還原

linux下可以很方便的 mysql-bin.000*

可以加參數開始時間和結束時間,就是你執行那條sql語句的時間

start-datetime=”2014-12-04

11:25:56″

–stop-datetime=”2014-12-04

13:23:50″

4、恢複數據:

e:\wamp\bin\mysql\mysql5.6.12\binmysqlbinlog

–database=yundongchao

e:\wamp\bin\mysql\mysql5.6.12\data\mysql-bin.000179

|

mysql

-u

root

-p

————————————————

MySQL 數據庫被刪了怎麼辦

如果有備份,找到備份文件,複製到MySQL數據庫目錄中,重啟服務即可。

如果沒有備份,儘快停止MySQL和其它會寫磁盤的軟件,然後用數據恢復軟件嘗試恢複數據庫目錄下的已刪除文件。恢復成功後重新啟動MySQL服務。

mysql數據沒有備份誤刪了怎麼恢復

打開mysql的bin log功能:

對於mysql也是支持增量備份,但要打開mysql的bin log功能。

我們修改mysql的配置文件。linux是/etc/my.cnf,windows是mysql的安裝目錄/my.ini

我們在[mysqld]下面加上log-bin一行代碼,如下面。

[mysqld]

log-bin=mysql-bin

複製代碼

加完後重起mysql即可。

某客戶更新數據的時候,誤刪了數據庫的內容,因為數據庫做了主從,但是沒有做備份(備份很重要啊!)幸好開啟了bin-log,之後只好把整個日誌的記錄拿回來本地進行恢復。

之後自己也做了一個簡單的測試,對數據進行恢復,具體如下:

1、新建一個表

CREATE TABLE `lynn`.`sn_test` ( `name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL , `age` INT( 3 ) NOT NULL ) ENGINE = MYISAM;

2、插入多條數據

INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES (‘lynn1’, ‘1’);

INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES (‘lynn2’, ‘2’);

INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES (‘lynn3’, ‘3’);

INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES (‘lynn4’, ‘4’);

3、查看數據並刪除

mysql select * from sn_test;

+——-+—–+

| name | age |

+———+—+

| lynn1 | 1 |

| lynn2 | 2 |

| lynn3 | 3 |

| lynn4 | 4 |

+———+—–+

4 rows in set (0.00 sec)

mysql delete from sn_test;

Query OK, 4 rows affected (0.00 sec)

mysql select * from sn_test;

Empty set (0.00 sec)

4、mysqlbinlog恢複數據

mysqlbinlog mysql-bin.000006 1.sql

查看1.txt裡面數據插入的紀錄,把刪除之前的數據進行恢復

mysqlbinlog mysql-bin.000006 –start-position=2471 –stop-position=2876 | mysql -uroot -p123

重新登錄,查看數據,OK,已經成功恢復了

對於數據庫操作,應該注意如下問題:

1、要常備份(全備,增量備份),出了問題可以最快恢複數據;

2、操作數據庫前,要把需要操作的數據庫或者表dump出來;

3、需要把bin-log打開,就算沒有做上面的兩步,也可以通過日誌恢複數據

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KUEH的頭像KUEH
上一篇 2024-11-01 14:08
下一篇 2024-11-01 14:08

相關推薦

  • 如何修改mysql的端口號

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

    編程 2025-04-29
  • Python讀取CSV數據畫散點圖

    本文將從以下方面詳細闡述Python讀取CSV文件並畫出散點圖的方法: 一、CSV文件介紹 CSV(Comma-Separated Values)即逗號分隔值,是一種存儲表格數據的…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

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

    編程 2025-04-29
  • 如何用Python統計列表中各數據的方差和標準差

    本文將從多個方面闡述如何使用Python統計列表中各數據的方差和標準差, 並給出詳細的代碼示例。 一、什麼是方差和標準差 方差是衡量數據變異程度的統計指標,它是每個數據值和該數據值…

    編程 2025-04-29
  • openeuler安裝數據庫方案

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

    編程 2025-04-29
  • Python多線程讀取數據

    本文將詳細介紹多線程讀取數據在Python中的實現方法以及相關知識點。 一、線程和多線程 線程是操作系統調度的最小單位。單線程程序只有一個線程,按照程序從上到下的順序逐行執行。而多…

    編程 2025-04-29
  • Python兩張表數據匹配

    本篇文章將詳細闡述如何使用Python將兩張表格中的數據匹配。以下是具體的解決方法。 一、數據匹配的概念 在生活和工作中,我們常常需要對多組數據進行比對和匹配。在數據量較小的情況下…

    編程 2025-04-29
  • Python爬取公交數據

    本文將從以下幾個方面詳細闡述python爬取公交數據的方法: 一、準備工作 1、安裝相關庫 import requests from bs4 import BeautifulSou…

    編程 2025-04-29
  • Python數據標準差標準化

    本文將為大家詳細講述Python中的數據標準差標準化,以及涉及到的相關知識。 一、什麼是數據標準差標準化 數據標準差標準化是數據處理中的一種方法,通過對數據進行標準差標準化可以將不…

    編程 2025-04-29

發表回復

登錄後才能評論