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

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

新聞中心

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

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

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

1. 環(huán)境準備

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

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

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

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

2. 恢復步驟

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

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

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

步驟2:停止MySQL服務

在進行數(shù)據(jù)恢復之前,我們需要停止MySQL服務。可以使用以下命令來停止MySQL服務:

sudo systemctl stop mysql

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

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

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

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

在進行數(shù)據(jù)恢復之前,我們需要刪除原始MySQL數(shù)據(jù)庫,以便重新創(chuàng)建一個新的MySQL數(shù)據(jù)庫??梢允褂靡韵旅顏韯h除原始MySQL數(shù)據(jù)庫:

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

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

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

mysql -u [username] -p [database_name]

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

如果使用其他恢復工具,可以參考官方文檔進行操作。

步驟6:重新啟動MySQL服務

數(shù)據(jù)恢復完成后,我們需要重新啟動MySQL服務??梢允褂靡韵旅顏韱覯ySQL服務:

sudo systemctl start mysql

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

3.

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

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

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

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

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

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

生成SQL腳本戚盯困

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

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

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

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

執(zhí)行SQL腳本

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

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

SOURCE C:\mydb1.sql

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

還可以通過下面的方式來執(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,每個事務都會產(chǎn)生一個GTID,我們可以通過驗證主從GTID來驗證主從數(shù)據(jù)的一致性。

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

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

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

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

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

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

Previous-GTIDs

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

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

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

請點擊輸入圖片描述

然后再次flush binary logs:

請點擊輸入圖片描述

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

請點擊輸入圖片描述

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

請點擊輸入圖片描述

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

請點擊輸入圖片描述

變量解釋:

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

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

gtid_retrieved 是從機上relay_log中的GTID。

ALL_GTID 的計算

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

對象

方法

存活的Master實例    gtid_executed    

存活的Slave實例    gtid_executed和gtid_retrieved的并集    

非存活Master實例    最后一個BINLOG文件的Previous-GTIDs + 最后一個BINLOG文件中所有的GTID    

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

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

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

拉取備份,進行還原

change master to

set @@global.gtid_purged=’xxx’;

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

將 從實例 的ALL_GTID手工置為xxx, 在通過GTID方式建立復制時不會出錯.

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

MySQL 5.7中set gtid_purged的行為變更

問題描述

回顧一下備份恢復的流歷渣程:

拉取備份,進行還原

change master to

set @@global.gtid_purged=’xxx’;

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

分析

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

手工還原備份

環(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,空    

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

驗證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時不同版本的MySQL產(chǎn)生了差異

驗證

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

環(huá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會給GTID_PURGED計算出一個錯誤的值。

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

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

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

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


標題名稱:如何恢復意外刪除的MySQL數(shù)據(jù)庫?(mysql刪除的數(shù)據(jù)庫怎么還原)
標題URL:http://www.5511xx.com/article/djgdhjo.html