日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如何恢復(fù)意外刪除的MySQL數(shù)據(jù)庫?(mysql刪除的數(shù)據(jù)庫怎么還原)

MySQL是一種開源的關(guān)系型數(shù)據(jù)庫,全球范圍內(nèi)廣泛應(yīng)用于各種領(lǐng)域。然而,有時(shí)我們不小心刪除了MySQL數(shù)據(jù)庫,導(dǎo)致數(shù)據(jù)的丟失。這時(shí)需要采取一些措施來恢復(fù)數(shù)據(jù)庫。本文將介紹如何恢復(fù)意外刪除的MySQL數(shù)據(jù)庫。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的皋蘭網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

1. 環(huán)境準(zhǔn)備

在恢復(fù)意外刪除的MySQL數(shù)據(jù)庫之前,我們需要先準(zhǔn)備好以下環(huán)境:

1)備份文件:MySQL數(shù)據(jù)庫備份文件是恢復(fù)數(shù)據(jù)庫的重要依據(jù)。如果沒有備份文件,那么數(shù)據(jù)恢復(fù)工作就會(huì)變得更加困難。建議在日常工作中定期備份MySQL數(shù)據(jù)庫。

2)MySQL安裝文件:如果數(shù)據(jù)恢復(fù)需要重新安裝MySQL,那么MySQL安裝文件就是必要的??梢詮腗ySQL官網(wǎng)下載最新的MySQL安裝文件。

3)恢復(fù)工具:有很多恢復(fù)工具可以用來恢復(fù)MySQL數(shù)據(jù)庫,例如MySQLDump、MyISAMCHK和IBDTool等。我們需要根據(jù)實(shí)際情況選擇一個(gè)合適的恢復(fù)工具。

2. 恢復(fù)步驟

接下來,我們將分步驟介紹如何恢復(fù)意外刪除的MySQL數(shù)據(jù)庫。

步驟1:檢查數(shù)據(jù)備份

我們需要檢查備份文件是否存在,并確認(rèn)備份文件的完整性和可用性。如果有多個(gè)備份文件,我們需要選擇最近的備份文件。如果備份文件沒有問題,我們可以繼續(xù)進(jìn)行數(shù)據(jù)恢復(fù)工作。

步驟2:停止MySQL服務(wù)

在進(jìn)行數(shù)據(jù)恢復(fù)之前,我們需要停止MySQL服務(wù)??梢允褂靡韵旅顏硗V筂ySQL服務(wù):

sudo systemctl stop mysql

步驟3:備份MySQL數(shù)據(jù)目錄

在進(jìn)行數(shù)據(jù)恢復(fù)之前,我們需要備份MySQL數(shù)據(jù)目錄,以防止發(fā)生任何意外情況。可以使用以下命令來備份MySQL數(shù)據(jù)目錄:

sudo cp -R /var/lib/mysql /var/lib/mysql.backup

步驟4:刪除原始MySQL數(shù)據(jù)庫

在進(jìn)行數(shù)據(jù)恢復(fù)之前,我們需要?jiǎng)h除原始MySQL數(shù)據(jù)庫,以便重新創(chuàng)建一個(gè)新的MySQL數(shù)據(jù)庫。可以使用以下命令來刪除原始MySQL數(shù)據(jù)庫:

sudo rm -rf /var/lib/mysql/*

步驟5:恢復(fù)MySQL數(shù)據(jù)庫

現(xiàn)在,我們可以開始恢復(fù)MySQL數(shù)據(jù)庫。如果使用MySQLDump恢復(fù)數(shù)據(jù)庫,可以使用以下命令:

mysql -u [username] -p [database_name]

其中,[username]是用戶名,[database_name]是數(shù)據(jù)庫名稱,[backup_file].sql是備份文件的名稱。執(zhí)行該命令后,系統(tǒng)會(huì)提示輸入密碼。請(qǐng)輸入MySQL用戶密碼后,恢復(fù)工作將自動(dòng)進(jìn)行。

如果使用其他恢復(fù)工具,可以參考官方文檔進(jìn)行操作。

步驟6:重新啟動(dòng)MySQL服務(wù)

數(shù)據(jù)恢復(fù)完成后,我們需要重新啟動(dòng)MySQL服務(wù)。可以使用以下命令來啟動(dòng)MySQL服務(wù):

sudo systemctl start mysql

這時(shí),我們可以使用MySQL客戶端查看是否已成功恢復(fù)數(shù)據(jù)庫。如果恢復(fù)成功,我們可以進(jìn)一步感謝數(shù)據(jù)備份工作的重要性,并為未來制定更好的數(shù)據(jù)備份計(jì)劃。

3.

這是一個(gè)簡(jiǎn)單的MySQL數(shù)據(jù)庫恢復(fù)流程。數(shù)據(jù)恢復(fù)過程可能因各種原因而出現(xiàn)意外,但我們可以采取以上步驟來保護(hù)數(shù)據(jù)安全。建議在日常工作中定期備份MySQL數(shù)據(jù)庫,并盡可能使用更多的工具和策略來保護(hù)數(shù)據(jù)。我們也可以將該流程用作參考,根據(jù)實(shí)際情況進(jìn)行優(yōu)化和改進(jìn)。

相關(guān)問題拓展閱讀:

  • 怎么備份和還原mysql數(shù)據(jù)庫

怎么備份和還原mysql數(shù)據(jù)庫

MySQL數(shù)據(jù)庫備份與還原

備份和恢復(fù)數(shù)據(jù)

生成SQL腳本戚盯困

在控制臺(tái)使用mysqldump命令可以用來生成指定數(shù)據(jù)庫的腳本文本,但要注意,腳本文本中只包含數(shù)據(jù)庫的內(nèi)容,而不會(huì)存在創(chuàng)建數(shù)據(jù)庫的語句!所則燃以在恢復(fù)數(shù)據(jù)時(shí),還需要自已手動(dòng)創(chuàng)建一個(gè)數(shù)據(jù)庫之后再去恢復(fù)數(shù)據(jù)。

mysqldump –u用戶名 –p密碼 數(shù)據(jù)庫名>生成的腳本文件路徑

現(xiàn)在可以在C盤下找到mydb1.sql文件了!

注意,mysqldump命令是在Windows控制臺(tái)下執(zhí)行,無需登錄mysql?。。?/p>

執(zhí)行SQL腳本

執(zhí)行SQL腳本需要登錄mysql,然后進(jìn)入指定數(shù)據(jù)庫,才可以執(zhí)行SQL腳本?。。?/p>

執(zhí)行SQL腳本不只是用來恢復(fù)數(shù)據(jù)庫,也可以在平時(shí)編寫SQL腳本,然后使用執(zhí)行SQL 腳本來操作數(shù)據(jù)庫!大家都知道,在黑屏下編寫SQL語句時(shí),就算發(fā)現(xiàn)了錯(cuò)誤,可能也不能修改了。所以我建議高念大家使用腳本文件來編寫SQL代碼,然后執(zhí)行之!

SOURCE C:\mydb1.sql

注意,在執(zhí)行腳本時(shí)需要先行核查當(dāng)前數(shù)據(jù)庫中的表是否與腳本文件中的語句有沖突!例如在腳本文件中存在create table a的語句,而當(dāng)前數(shù)據(jù)庫中已經(jīng)存在了a表,那么就會(huì)出錯(cuò)!

還可以通過下面的方式來執(zhí)行腳本文件:

mysql -uroot -p123 mydb1

mysql –u用戶名 –p密碼 數(shù)據(jù)庫

這種方式無需登錄mysql!

備份數(shù)據(jù)庫困稿

使用mysqldump命令備份數(shù)據(jù)含尺棚庫

還原數(shù)據(jù)庫

1、使用mysql命令還原數(shù)據(jù)庫

將談則game_backup.sql 還原至 game 數(shù)據(jù)庫:

2、使用source命令還原數(shù)據(jù)庫

如果數(shù)據(jù)庫過大,建議可以使用source命令

前言

MySQL 5.6引入了GTID,每個(gè)事務(wù)都會(huì)產(chǎn)生一個(gè)GTID,我們可以通過驗(yàn)證主從GTID來驗(yàn)證主從數(shù)據(jù)的一致性。

為了敘述簡(jiǎn)便,定義一個(gè)量ALL_GTID: 表示某個(gè)數(shù)據(jù)庫實(shí)例上 所有存在過的 或 將要存在的事務(wù) 的GTID(包括已經(jīng)被purge掉的事務(wù))。

在討論數(shù)據(jù)庫可用性的場(chǎng)景中, 當(dāng)發(fā)生主備切換時(shí), 需要進(jìn)行數(shù)據(jù)補(bǔ)償。通過比較主備的ALL_GTID,可以確定需要補(bǔ)償多少數(shù)據(jù):

在實(shí)例存活的情況,可以在實(shí)例狀態(tài)中查詢ALL_GTID。

在實(shí)例崩潰的情況,無法在實(shí)例狀態(tài)中查詢ALL_GTID??梢酝ㄟ^查詢BINLOG中的Previous-GTIDs計(jì)算來獲得ALL_GTID。

下面列舉與ALL_GTID相關(guān)的變量。

與ALL_GTID相關(guān)的變量

Previous-GTIDs

Previous-GTIDs格式如下(環(huán)境為MySQL5.7,日志手動(dòng)flush binary logs獲得):

查看新輪轉(zhuǎn)出的BINLOG:

下面為mysql-bin.00001中包含的GTID:

請(qǐng)點(diǎn)擊輸入圖片描述

然后再次flush binary logs:

請(qǐng)點(diǎn)擊輸入圖片描述

mysql-bin.00002中是沒有任何GTID的。

請(qǐng)點(diǎn)擊輸入圖片描述

綜上Previous-GTIDs是本身這個(gè)BINLOG文件前面的所有BINLOG的。

請(qǐng)點(diǎn)擊輸入圖片描述

全局變量中的GTID相關(guān)的變量

請(qǐng)點(diǎn)擊輸入圖片描述

變量解釋:

gtid_executed 代表著server上所有事務(wù)執(zhí)行產(chǎn)生的GTID(包含已經(jīng)被purge的BINLOG中的GTID或者是手動(dòng)set gtid_purged的GTID)。

gtid_purged 代表著已經(jīng)被purge到的GTID。gtid_purged是gtid_executed的子集。

gtid_retrieved 是從機(jī)上relay_log中的GTID。

ALL_GTID 的計(jì)算

了解了GTID相關(guān)的變量之后,可以得到獲得實(shí)例的All_GTID的的方法:

對(duì)象

方法

存活的Master實(shí)例    gtid_executed    

存活的Slave實(shí)例    gtid_executed和gtid_retrieved的并集    

非存活Master實(shí)例    最后一個(gè)BINLOG文件的Previous-GTIDs + 最后一個(gè)BINLOG文件中所有的GTID    

非存活Slave實(shí)例    最后一個(gè)BINLOG文戚虧件的Previous-GTIDs + 最后一個(gè)BINLOG文件中所有的GTID    

在獲得非存活實(shí)例中的ALL_GTID時(shí),最后一個(gè)BINLOG文件中的GTID可能不連續(xù)(比如事務(wù)同時(shí)來自于本實(shí)例客戶端和復(fù)制回放),所以需要掃描最后一個(gè)BINLOG文件。

生產(chǎn)中我們使用Xtrabackup來產(chǎn)生一個(gè) 從實(shí)例 的流程如下:

拉取備份,進(jìn)行還原

change master to

set @@global.gtid_purged=’xxx’;

set @@global.gtid_purged=’xxx’; 的影響:

將 從實(shí)例 的ALL_GTID手工置為xxx, 在通過GTID方式建立復(fù)制時(shí)不會(huì)出錯(cuò).

將更新Binlog中記錄的Previous-GTIDs (由于Binlog不可改變, 將產(chǎn)生新的Binlog, 記錄新的Previous-GTIDs).

MySQL 5.7中set gtid_purged的行為變更

問題描述

回顧一下備份恢復(fù)的流歷渣程:

拉取備份,進(jìn)行還原

change master to

set @@global.gtid_purged=’xxx’;

現(xiàn)象: 發(fā)現(xiàn)有一臺(tái)MySQL 5.7的Slave服務(wù)器恢復(fù)后沒有產(chǎn)生 正確的Previous-GTIDs。

分析

分析整個(gè)過程,解決問題高爛神應(yīng)該分階段進(jìn)行手動(dòng)模擬發(fā)現(xiàn)問題。以下為詳細(xì)步驟:

手工還原備份

環(huán)境

BINLOG數(shù)量,Previous-GTIDs狀態(tài)

Xtrabackup 2.4.2 & MySQL 5.6    1,空    

Xtrabackup 2.4.2 & MySQL 5.7    1,空    

Xtrabackup 2.2.9 & MySQL 5.6    1,空    

Xtrabackup 2.2.9 & MySQL 5.7    1,空    

可見: 恢復(fù)過程不會(huì)輪轉(zhuǎn)BINLOG。

驗(yàn)證change master和set gtid_purged在不同的MySQL版本中執(zhí)行的差異

環(huán)境

BINLOG數(shù)量,Previous-GTIDs狀態(tài)

change master & MySQL 5.6    1,空    

change master & MySQL 5.7    1,空    

set gtid_purged & MySQL 5.6    2,正常    

set gtid_purged & MySQL 5.7    1,空    

可見: 執(zhí)行set gtid_purged時(shí)不同版本的MySQL產(chǎn)生了差異

驗(yàn)證

對(duì)不同版本MySQL單獨(dú)執(zhí)行set @@global.gtid_purged=”;語句。檢查結(jié)果

環(huán)境

進(jìn)行的操作

BINLOG數(shù)量,Previous-GTIDs狀態(tài)

MySQL 5.7    reset master; set @@global.gtid_purged=”;    1,空    

MySQL 5.6    reset master; set @@global.gtid_purged=”;    2,正常    

結(jié)論

參考:

官方解釋: 在5.7版本中,執(zhí)行SET GTID_PURGED語句后binlog_simple_gtid_recovery會(huì)給GTID_PURGED計(jì)算出一個(gè)錯(cuò)誤的值。

由于5.7中新增了存儲(chǔ)GTID的表。所以5.7版本中set @@global.gtid_purged=”;語句被改成只修改存放GTID的表。

而5.6版本中會(huì)進(jìn)行BINLOG輪轉(zhuǎn)和向Previous_gtids_log_event中添加GTID。如果5.7需要產(chǎn)生和5.6相同結(jié)果的話,可以在SET GTID_PURGED語句后手動(dòng)執(zhí)行flush binary logs語句。

mysql刪除的數(shù)據(jù)庫怎么還原的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于mysql刪除的數(shù)據(jù)庫怎么還原,如何恢復(fù)意外刪除的MySQL數(shù)據(jù)庫?,怎么備份和還原mysql數(shù)據(jù)庫的信息別忘了在本站進(jìn)行查找喔。

成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。創(chuàng)新互聯(lián)成都老牌IDC服務(wù)商,專注四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,可選線路電信、移動(dòng)、聯(lián)通等。


本文標(biāo)題:如何恢復(fù)意外刪除的MySQL數(shù)據(jù)庫?(mysql刪除的數(shù)據(jù)庫怎么還原)
網(wǎng)址分享:http://m.5511xx.com/article/djgdhjo.html