最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql恢復(fù)誤刪庫(kù)表數(shù)據(jù)完整場(chǎng)景演示

 更新時(shí)間:2024年07月10日 11:09:07   作者:快樂(lè)的小三菊  
在開(kāi)發(fā)和在生產(chǎn)中總會(huì)出現(xiàn)各種各樣的失誤和意味,當(dāng)MySQL的數(shù)據(jù)或表被刪除后不要慌,下面這篇文章主要給大家介紹了關(guān)于Mysql恢復(fù)誤刪庫(kù)表數(shù)據(jù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、前提

1、如果你的數(shù)據(jù)庫(kù)有備份文件,自己還原即可。

2、如果沒(méi)有備份文件,那首先檢查下你的 binlog 是否開(kāi)啟。如果未開(kāi)啟,那你就不用往下看了。如果開(kāi)啟了,可以往下看看。

1.1 查看位置

可以通過(guò)以下的命令查看是否開(kāi)啟了 binlog 以及它的存儲(chǔ)路徑,mysql8.0 版本是默認(rèn)開(kāi)啟的。

show variables like '%log_bin%'

二、簡(jiǎn)單場(chǎng)景演示

2.1 背景

此時(shí)演示的數(shù)據(jù)庫(kù)版本是 Mysql 8.0。且創(chuàng)建表、插入數(shù)據(jù)和刪除表都是在一個(gè) binlog 里面完成的。

2.2 創(chuàng)建數(shù)據(jù)庫(kù)

確認(rèn) binlog 是開(kāi)啟狀態(tài)之后,創(chuàng)建測(cè)試數(shù)據(jù)庫(kù),在測(cè)試數(shù)據(jù)庫(kù)中創(chuàng)建測(cè)試表,并寫(xiě)入數(shù)據(jù),腳本如下:

create database if EXISTS itcast;

use itcast;

create table tb_user(
	id int(11) not null,
	name varchar(50) not null,
	sex varchar(1),
	primary key (id)
)engine=innodb default charset=utf8;

insert into tb_user(id,name,sex) values(1,'Tom','1');
insert into tb_user(id,name,sex) values(2,'Trigger','0');
insert into tb_user(id,name,sex) values(3,'Dawn','1');

2.3 刪除數(shù)據(jù)庫(kù)

執(zhí)行下面的語(yǔ)句將數(shù)據(jù)庫(kù)刪除掉。

drop DATABASE itcast;

2.4 創(chuàng)建新文件

當(dāng)需要恢復(fù)數(shù)據(jù)時(shí),為了防止恢復(fù)數(shù)據(jù)后影響最新業(yè)務(wù),需要執(zhí)行下面的命令產(chǎn)生一個(gè)新的 binlog 文件,如下,此時(shí)舊的 binlog 文件不會(huì)再有寫(xiě)入操作了。

flush logs;

2.5 查看具體文件

執(zhí)行下面的命令,看下系統(tǒng)有多少個(gè) binlog 文件

show master logs;

由于我們執(zhí)行 flush logs 命令新生了一個(gè)文件,所以我們執(zhí)行的刪除的命令應(yīng)該在 binlog.000017 文件里面。

2.6 查看具體的命令行

 執(zhí)行下面的命令,查看具體操作的開(kāi)始和結(jié)束的位置

show binlog events in 'binlog.000017';

得到數(shù)據(jù)恢復(fù)的起始位置為 125,結(jié)束位置為 1750

2.7 mysqlbinlog

接下來(lái)使用 mysqlbinlog 命令執(zhí)行 binlog 文件,恢復(fù)數(shù)據(jù),命令如下:

mysqlbinlog -v /var/lib/mysql/binlog.000017 --start-position=125 --stop-position=1750 | mysql -uroot -p1234

數(shù)據(jù)就被恢復(fù)成功了。

三、復(fù)雜場(chǎng)景演示

先通過(guò)下面的命令查看下 binlog 是否開(kāi)啟,以及日志存儲(chǔ)的位置

show variables like '%log_bin%'

3.1 背景

        1、此時(shí)演示的數(shù)據(jù)庫(kù)版本是 Mysql 8.0。

        2、創(chuàng)建表、插入數(shù)據(jù)和刪除表不是在一個(gè) binlog 里面完成的。

        3、binlog 里面存儲(chǔ)了不止一個(gè)數(shù)據(jù)庫(kù)的日志。

3.2 現(xiàn)狀

此時(shí)我們有一個(gè)庫(kù),里面有三張表,如下,具體什么時(shí)候創(chuàng)建的,不記得了,現(xiàn)在我們把他刪除掉,看看能不能給還原回去。

3.3 刪除數(shù)據(jù)庫(kù)

執(zhí)行下面的語(yǔ)句將數(shù)據(jù)庫(kù)刪除掉。

drop DATABASE itcast;

3.4 數(shù)據(jù)復(fù)原

1、執(zhí)行 flush logs 命令,使其產(chǎn)生一個(gè)新的 binlog 文件

2、執(zhí)行下面的命令,看下系統(tǒng)有多少個(gè) binlog 文件。

show master logs;

3、挨個(gè)遍歷,執(zhí)行下面的命令,挨個(gè) binlog 日志去查看

show binlog events in 'DESKTOP-B0B82CP-bin.000001';
show binlog events in 'DESKTOP-B0B82CP-bin.000002';
show binlog events in 'DESKTOP-B0B82CP-bin.000003';
show binlog events in 'DESKTOP-B0B82CP-bin.000004';
show binlog events in 'DESKTOP-B0B82CP-bin.000005';
show binlog events in 'DESKTOP-B0B82CP-bin.000006';
show binlog events in 'DESKTOP-B0B82CP-bin.000007';

1、發(fā)現(xiàn)第一個(gè)有關(guān)于 itcast 的日志位置,如下

把涉及到的這幾個(gè) binlog 日志都拷貝到另外的文件夾里面去,因?yàn)?strong> MySQL Server 8.0 這個(gè)目錄識(shí)別不了,真坑爹。 

拷貝完成后,執(zhí)行下面的語(yǔ)句:

mysqlbinlog -v C:/1/DESKTOP-B0B82CP-bin.000003 --start-position=424 --stop-position=543 | mysql -uroot -p123456

執(zhí)行成功后,可以看到,數(shù)據(jù)庫(kù)被恢復(fù)成功了,不過(guò)現(xiàn)在只是個(gè)空庫(kù),如下圖:

2、繼續(xù)向下搜尋有關(guān) itcast 的 binlog 日志,如下圖,又在 binlog 里面發(fā)現(xiàn)了有關(guān) itcast 的日志,

mysqlbinlog -v C:/1/DESKTOP-B0B82CP-bin.000005 --start-position=125 --stop-position=9655 | mysql -uroot -p123456

繼續(xù)找,繼續(xù)還原。 

mysqlbinlog -v C:/1/DESKTOP-B0B82CP-bin.000005 --start-position=11607 --stop-position=12344 | mysql -uroot -p123456

繼續(xù)找,繼續(xù)還原。

mysqlbinlog -v C:/1/DESKTOP-B0B82CP-bin.000005 --start-position=14152 --stop-position=14742 | mysql -uroot -p123456

到此為止,就都找全了,數(shù)據(jù)也都恢復(fù)回來(lái)了。

總結(jié) 

到此這篇關(guān)于Mysql恢復(fù)誤刪庫(kù)表數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Mysql恢復(fù)誤刪庫(kù)表數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL監(jiān)控Innodb信息工作流程

    MySQL監(jiān)控Innodb信息工作流程

    這篇文章主要為大家介紹了MySQL監(jiān)控Innodb信息工作流程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-02-02
  • mysql自動(dòng)填充時(shí)間的兩種實(shí)現(xiàn)方式小結(jié)

    mysql自動(dòng)填充時(shí)間的兩種實(shí)現(xiàn)方式小結(jié)

    這篇文章主要介紹了mysql自動(dòng)填充時(shí)間的兩種實(shí)現(xiàn)方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • MySQL主從同步(復(fù)制)操作實(shí)戰(zhàn)記錄

    MySQL主從同步(復(fù)制)操作實(shí)戰(zhàn)記錄

    MySQL主從同步是一種常見(jiàn)的數(shù)據(jù)庫(kù)復(fù)制策略,用于提升系統(tǒng)的可擴(kuò)展性、容錯(cuò)性和數(shù)據(jù)安全性,這篇文章主要介紹了MySQL主從同步(復(fù)制)操作實(shí)戰(zhàn)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-11-11
  • SQL函數(shù)實(shí)現(xiàn)Group_concat用法

    SQL函數(shù)實(shí)現(xiàn)Group_concat用法

    GROUP_CONCAT用于將每個(gè)分組內(nèi)的值連接成一個(gè)字符串,并通過(guò)指定的分隔符進(jìn)行分隔,本文主要介紹了SQL函數(shù)實(shí)現(xiàn)Group_concat用法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • mysql 8.0.12 解壓版安裝教程

    mysql 8.0.12 解壓版安裝教程

    這篇文章主要為大家詳細(xì)介紹了mysql 8.0.12 解壓版安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 一文帶你徹底了解MySQL事務(wù)機(jī)制

    一文帶你徹底了解MySQL事務(wù)機(jī)制

    一個(gè)事情由n個(gè)單元組成,這n個(gè)單元在執(zhí)行過(guò)程中,要么同時(shí)成功,要么同時(shí)失敗,這就把n個(gè)單元放在了一個(gè)事務(wù)之中,這篇文章主要給大家詳細(xì)介紹MySQL的事務(wù)機(jī)制,感興趣的同學(xué)歡迎閱讀本文
    2023-06-06
  • MySQL主從復(fù)制與讀寫(xiě)分離的用法解讀

    MySQL主從復(fù)制與讀寫(xiě)分離的用法解讀

    這篇文章主要介紹了MySQL主從復(fù)制與讀寫(xiě)分離的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • MySQL外鍵設(shè)置的方法實(shí)例

    MySQL外鍵設(shè)置的方法實(shí)例

    這篇文章主要介紹了MySQL外鍵設(shè)置的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Mysql連接數(shù)的基本知識(shí)講解

    Mysql連接數(shù)的基本知識(shí)講解

    這篇文章主要介紹了Mysql連接數(shù)的基本知識(shí),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • MySQL復(fù)合查詢(xún)和表的內(nèi)外連接示例詳解

    MySQL復(fù)合查詢(xún)和表的內(nèi)外連接示例詳解

    在數(shù)據(jù)庫(kù)管理和數(shù)據(jù)分析中,單表查詢(xún)往往無(wú)法滿(mǎn)足復(fù)雜的數(shù)據(jù)查詢(xún)需求,因此多表查詢(xún)和子查詢(xún)成為了解決問(wèn)題的關(guān)鍵技術(shù),MySQL支持多種多表查詢(xún)方式,如內(nèi)連接、外連接(左外連接和右外連接)以及自連接,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10

最新評(píng)論

永城市| 塘沽区| 南充市| 友谊县| 青岛市| 三原县| 和政县| 福泉市| 府谷县| 赤壁市| 新平| 延边| 宁南县| 荣昌县| 靖江市| 泾源县| 赤峰市| 禄丰县| 枞阳县| 阿图什市| 平乡县| 万州区| 阿拉尔市| 庄河市| 张家界市| 铁力市| 阿巴嘎旗| 醴陵市| 耒阳市| 渝中区| 黄梅县| 三门峡市| 罗田县| 莒南县| 剑川县| 青河县| 灵石县| 温宿县| 兰考县| 祁门县| 资阳市|