日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

删库了,我们一定要跑路吗?

發(fā)布時間:2024/5/7 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 删库了,我们一定要跑路吗? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在工作中,我們誤刪數(shù)據(jù)或者數(shù)據(jù)庫,我們一定需要跑路嗎?我看未必,程序員一定要學(xué)會自救,神不知鬼不覺的將數(shù)據(jù)找回。

在 mysql 數(shù)據(jù)庫中,我們知道 binlog 日志記錄了我們對數(shù)據(jù)庫的所有操作,所以 binlog 日志就是我們自救的利器。

接下來就來開啟程序員自救之路。

想要自救成功,binlog 這把利器一定要好,在自己之前,我們一定要確定我們有 binlog 這把利器,以下就是確保有 binlog 利器的操作。

1、確認(rèn)數(shù)據(jù)庫是否開啟 binlog 日志

show variables like 'log_%';

查看紅色圈出來的地方,如果為 ON 則表示開啟,否則未開啟。沒有開啟的話,就需要做以下操作。

2、開啟 binlog 日志

如果未開啟 binlog 日志的話,就需要開啟 binlog 日志,在 MySQL 的配置文件中設(shè)置,如果你的是windowns 電腦則找到 my.ini 文件,unix 系統(tǒng)找到 my.cnf文件。在文件中修改或者配置如下參數(shù):

# Binary Logging. #日志文件的名字及存儲路徑 log-bin=D:\Mysql-binlog\mysql-bin #設(shè)置日志格式 binlog-format=mixed

其中 binlog-format 有三種選項(xiàng):

  • STATMENT:每一條會修改數(shù)據(jù)的 SQL 語句會記錄在 binlog 中。
  • ROW:不記錄每一條 SQL語句的上下文信息,僅記錄哪條記錄被修改。
  • MIXED:以上兩種模式的混合使用,一般的復(fù)制使用STATEMENT模式保存binlog,對于STATEMENT模式無法復(fù)制的操作使用ROW模式保存binlog,MySQL會根據(jù)執(zhí)行的 SQL 語句選擇日志保存方式。

3、重啟 MySQL 服務(wù)器

4、再次確認(rèn) binlog 日志開啟成功。

好了,操作完上面幾步之后,我們就可以學(xué)習(xí)如何自救了,我們使用三個場景來分別演示誤刪數(shù)據(jù)、誤刪表、誤刪庫的情況下如何自救。

在進(jìn)入具體的場景前,我們先來準(zhǔn)備演示需要的數(shù)據(jù)庫、表和數(shù)據(jù)。

1、創(chuàng)建數(shù)據(jù)庫pingtouge

create database pingtouge;

2、創(chuàng)建 student 表

create table student(id INT NOT NULL AUTO_INCREMENT,name VARCHAR(100) NOT NULL,num VARCHAR(40) NOT NULL,PRIMARY KEY (id ) )ENGINE=InnoDB DEFAULT CHARSET=utf8;

3、插入數(shù)據(jù)

insert into student(name,num)values('張三','1234'); insert into student(name,num)values('李四','1235');

有了數(shù)據(jù)之后,可以正式進(jìn)入場景了, are you ready?

場景一:誤刪了某條數(shù)據(jù)

一不小心將 student 表中 id=1 的數(shù)據(jù)刪除了。該怎么辦?

憑著記憶手動插入這條數(shù)據(jù)嗎?好像也不是不可以哇,能記住的都是天才,利用 binlog 日志才是王道。

使用 show master status命令,查看最新的 binlog 日志文件。

獲取到最新的 binlog 日志文件后,使用 show binlog events in 'mysql-bin.000043';命令查看 binlog 日志文件,如下圖所示:

binlog 日志記錄了我們對數(shù)據(jù)庫的所有操作,包括語句提交前和提交后的偏移量,在數(shù)據(jù)恢復(fù)時會使用到這兩個偏移量。

在正式進(jìn)入數(shù)據(jù)恢復(fù)之前,我們先來認(rèn)識 MySQL 提供的一個工具:mysqlbinlog 。mysqlbinlog 是用來操作 binlog 日志文件,我們數(shù)據(jù)恢復(fù)就需要使用到它。

使用 mysqlbinlog 來恢復(fù)二進(jìn)制日志文件,命令格式為:

mysqlbinlog binlog日志文件 --start-position 初始偏移量的位置 --stop-position 結(jié)束偏移量的位置 | mysql -u root -p 數(shù)據(jù)庫名稱;

我們在 binlog 日志文件中找到 student 表中 id=1 這條數(shù)據(jù)在刪除之前的最后一次操作的起始偏移量和結(jié)束偏移量,在上圖中,我已經(jīng)標(biāo)出,起始偏移量為:710,結(jié)束偏移量為:996。有了這兩個參數(shù)之后,我們就可以使用 mysqlbinlog 命令來恢復(fù)數(shù)據(jù)了。

執(zhí)行:

mysqlbinlog d:\Mysql-binlog\mysql-bin.000043 --start-position 710 --stop-position 996 | mysql -u root -p pingtouge;

如果命令執(zhí)行成功的話,再次執(zhí)行 select * from student命令,查看數(shù)據(jù)是否恢復(fù)。


從上圖中,可以看出,我們成功的恢復(fù)了 student 表中 id=1 的這條數(shù)據(jù)。

場景二:誤刪了數(shù)據(jù)表

又是一不小心把表 student 給刪除了。

對于誤刪表,同樣可以使用 binlog 日志來恢復(fù),畢竟 binlog 日記記錄的是我們對 MySQL 的所有操作,跟恢復(fù)單條數(shù)據(jù)一樣,我們同樣需要在 binlog 日志文件中查找到起始偏移量和結(jié)束偏移量,用來恢復(fù)數(shù)據(jù)。

與單條數(shù)據(jù)不一樣的是,對于表的偏移量,起始偏移量是創(chuàng)建表之前的開始偏移量,結(jié)束偏移量是刪除數(shù)據(jù)庫之前的最后一個結(jié)束偏移量。 如下圖示:



一張圖截不全,我就分兩張圖了。同樣我們使用 mysqlbinlog 來恢復(fù) student 表,執(zhí)行:

mysqlbinlog d:\Mysql-binlog\mysql-bin.000043 --start-position 393 --stop-position 1997 | mysql -u root -p pingtouge

命令執(zhí)行完成后,再次執(zhí)行 select * from student;,你會發(fā)現(xiàn)我們的數(shù)據(jù)都回來了。

場景三:誤刪了數(shù)據(jù)庫

你在工作中受氣了,準(zhǔn)備刪庫跑路啦,于是你就把pingtouge數(shù)據(jù)庫給刪除了,刪完之后你就后悔了,怎么辦?在線等。

不要慌,萬能的 binlog 日志可以救你,跟前面兩種場景一樣,還是在 binlog 日志中查詢到需要恢復(fù)數(shù)據(jù)庫的起始偏移量和結(jié)束偏移量。這里我就不截圖了。

通過查看 binlog 日志發(fā)現(xiàn)創(chuàng)建數(shù)據(jù)庫pingtouge的開始偏移量為 219,刪庫之前的最后偏移量為 3861,有了這兩個偏移量之后,執(zhí)行:

mysqlbinlog d:\Mysql-binlog\mysql-bin.000043 --start-position 219 --stop-position 3861 | mysql -u root -p

需要注意的是最后不需要帶上數(shù)據(jù)庫,執(zhí)行完之后,發(fā)現(xiàn)與數(shù)據(jù)庫pingtouge相關(guān)的數(shù)據(jù)全部都回來了。

刪庫了,我們不一定需要跑路,一定要學(xué)習(xí)自救,少年。

以上就是今天分享的內(nèi)容,希望對您的學(xué)習(xí)或者工作有所幫助,如果您覺得文章不錯,歡迎點(diǎn)個贊和轉(zhuǎn)發(fā),謝謝。

總結(jié)

以上是生活随笔為你收集整理的删库了,我们一定要跑路吗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费色视频 | 国产肉体xxxx裸体784大胆 | 4色av| 最新av免费在线观看 | 一区二区三区四区视频在线观看 | 亚洲成人精品视频 | 欧美成网| 手机在线看黄色 | 美国黄色网址 | 东北少妇露脸无套对白 | 亚洲Av无码成人精品区伊人 | 少妇大叫太粗太大爽一区二区 | 在线观看你懂的网站 | 天天躁夜夜躁av天天爽 | 久久这里只有精品99 | 亚洲爽爽 | 三级国产三级在线 | 亚洲av毛片成人精品 | 成人四色 | 窝窝午夜理论片影院 | 日产欧产va高清 | 亚洲一区中文字幕永久在线 | 成年人激情网站 | 国产午夜福利视频在线观看 | 久久久人妻无码一区二区 | 成人伊人网 | 一级片视频网站 | 性插视频在线观看 | 夜夜操网站 | 超碰caopeng | 裸体男女树林做爰 | yes4444视频在线观看 | 欧美亚洲影院 | 美女91网站 | 国产美女精品久久久 | 日韩在线中文 | 国产一区二区三区电影在线观看 | 欧美freesex黑人又粗又大 | 欧美成人片在线观看 | 一区二区播放 | 中文字幕Av日韩精品 | 午夜激情视频 | 麻豆av在线 | 手机av在线免费观看 | 扒开伸进免费视频 | 一级黄色在线观看 | 亚洲乱码视频在线观看 | 成人av影院在线观看 | 国产精品91视频 | 日韩中文一区二区 | 91中文字日产乱幕4区 | 亚洲黄色小视频 | 成人在线高清 | 热久久精 | 成人亚洲欧美 | www.youjizz.com中国 | 日本成人小视频 | 少妇饥渴难耐 | 伊人涩涩 | 午夜久久久久久噜噜噜噜 | 色哟哟免费在线观看 | 国产高清自拍一区 | 久久亚洲影院 | 欧美女优在线观看 | 日本日皮视频 | 国产精品刺激 | 亚洲17p| 黄色福利视频网站 | 免费av网址大全 | 在线免费观看亚洲视频 | 久久免费的精品国产v∧ | 手机在线免费av | 午夜精品久久99蜜桃的功能介绍 | 国产真实老熟女无套内射 | 91高清在线免费观看 | 俄罗斯精品一区二区三区 | 99久热在线精品996热是什么 | 国产又黄又猛的视频 | 亚洲依依 | 人操人爽 | 亚洲黄色在线播放 | 国产免费一区视频观看免费 | 亚洲美女自拍 | 午夜激情网址 | 国产黄色视屏 | 久久男人精品 | 红桃成人在线 | 国产无遮挡又黄又爽免费网站 | 91亚洲天堂| 一区二区视频免费 | 日韩av资源站 | 成人天堂噜噜噜 | 亚洲精品99| 亚洲男人的天堂在线观看 | 亚洲国产成人精品91久久久 | 久久久www成人免费毛片 | 日韩精品一区二 | 麻豆一区二区三区精品视频 | 天天看天天干 |