自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL數(shù)據(jù)庫的備份案例

數(shù)據(jù)庫 MySQL
上篇文檔分享了MySQL數(shù)據(jù)庫的幾種備份方法,以及各自的特點(diǎn)。下面我們通過一個(gè)企業(yè)級(jí)的備份案例了解一下MySQL數(shù)據(jù)庫的常見備份和恢復(fù)。

MySQL企業(yè)備份案列

前言:上篇文檔分享了MySQL數(shù)據(jù)庫的幾種備份方法,以及各自的特點(diǎn)。下面我們通過一個(gè)企業(yè)級(jí)的備份案例了解一下MySQL數(shù)據(jù)庫的常見備份和恢復(fù)。(如果有看不懂的地方,可以參考小編主頁的上篇文檔:怎么對(duì)MySQL數(shù)據(jù)庫進(jìn)行備份與恢復(fù)

案例:

需求描述:某某公司的用戶信息數(shù)據(jù)庫為client,用戶資費(fèi)數(shù)據(jù)表為user_info,該公司每周需要進(jìn)行完全備份,每天需要進(jìn)行增量備份。新增的用戶信息如下表所示:

MySQL備份案例

 

一、一般恢復(fù)

1.添加數(shù)據(jù)庫、表、錄入信息

在進(jìn)行備份前,先根據(jù)需求創(chuàng)建用戶信息數(shù)據(jù)庫client、用戶資費(fèi)數(shù)據(jù)表user_info,并且根據(jù)需求描述中的表格插入前三條用戶的數(shù)據(jù)。 如下圖:

MySQL備份案例

 

2.先進(jìn)行一次完全備份

為了方便驗(yàn)證二進(jìn)制日志的增量恢復(fù)功能,我們?cè)诓迦肴龡l用戶數(shù)據(jù)后先對(duì)client數(shù)據(jù)庫的user_info數(shù)據(jù)表進(jìn)行一次完全備份,然后在linux系統(tǒng)命令行下執(zhí)行"mysqladmin -u root -p flush-logs"命令或在"mysql>"命令提示符下執(zhí)行"flush logs;"生成新的二進(jìn)制日志。如下圖:

MySQL備份案例

 

3.繼續(xù)錄入新的數(shù)據(jù)并進(jìn)行增量備份

繼續(xù)錄入兩個(gè)用戶的數(shù)據(jù),并執(zhí)行"mysqladmin -u root -p flush-logs"命令刷新二進(jìn)制日志,進(jìn)行增量備份。這樣,二進(jìn)制日志文件mysql-bin.000003中僅保留插入兩個(gè)用戶數(shù)據(jù)的操作。如下圖:

MySQL備份案例

 

MySQL備份案例

 

4.模擬誤操作刪除user_info表

MySQL備份案例

 

5.恢復(fù)操作

執(zhí)行恢復(fù)操作時(shí),需要先恢復(fù)完全備份,然后恢復(fù)增量備份。

MySQL備份案例

 

二、基于位置恢復(fù)

1.由于上面已經(jīng)做過恢復(fù)操作了,所以我們***步還是模擬誤操作刪除user_info表,然后恢復(fù)完全備份。操作同上,這里就略過了。

2.想要實(shí)現(xiàn)基于位置或時(shí)間點(diǎn)恢復(fù)數(shù)據(jù),必須先通過查看二進(jìn)制日志文件確定恢復(fù)的位置或時(shí)間點(diǎn)。使用"mysqlbinlog --no-defaults 二進(jìn)制日志文件"可以查看日志文件的具體內(nèi)容。如下圖:

MySQL備份案例

 

通過查看日志文件的具體內(nèi)容可以發(fā)現(xiàn),在每進(jìn)行一個(gè)操作之前都會(huì)有一個(gè)獨(dú)特的編號(hào),如"# at 458"。此編號(hào)隨著操作數(shù)增多而變大,我們稱之為操作ID。在操作ID下面緊跟著的是時(shí)間標(biāo)記,要實(shí)現(xiàn)基于位置或時(shí)間點(diǎn)恢復(fù)數(shù)據(jù),需要分別依賴二進(jìn)制日志文件中的操作ID或者時(shí)間標(biāo)記。例如,通過二進(jìn)制日志文件可以得知,在操作ID為"458"的時(shí)候,user_info表中插入了"王麻子"的用戶數(shù)據(jù)。因此執(zhí)行以下命令可以實(shí)現(xiàn)僅恢復(fù)到操作ID為"458"之前的數(shù)據(jù),即不恢復(fù)"王麻子"的信息。這時(shí)所恢復(fù)的數(shù)據(jù)是從二進(jìn)制日志文件的開始位置直到指定位置。如下圖:

MySQL備份案例

 

上述操作命令中,"--stop-position"指定的是停止的位置,如果僅恢復(fù)"王麻子"的信息,跳過"趙六"的信息,可以使用"--start-position"選項(xiàng)指定開始恢復(fù)數(shù)據(jù)的位置。這時(shí)所恢復(fù)的數(shù)據(jù)是從指定位置開始直到二進(jìn)制日志文件的***。如下圖:

MySQL備份案例

 

三、基于時(shí)間點(diǎn)恢復(fù)

基于時(shí)間點(diǎn)恢復(fù)數(shù)據(jù)所使用的選項(xiàng)是"--stop-datetime",指定的時(shí)間同樣也是查詢二進(jìn)制日志文件所得。

如下圖:執(zhí)行以下操作可以實(shí)現(xiàn)恢復(fù)到"2:38:32"之前的數(shù)據(jù),即不恢復(fù)"王麻子"的信息。

MySQL備份案例

 

基于時(shí)間點(diǎn)恢復(fù)同樣也可以使用"--start-datetime"選項(xiàng)指定開始恢復(fù)數(shù)據(jù)的時(shí)間,命令格式與基于位置恢復(fù)的格式一樣,這里就不再給圖了。

四、制定企業(yè)備份策略的思路

在企業(yè)中備份策略并不是千篇一律的,而是根據(jù)每個(gè)企業(yè)的實(shí)際生產(chǎn)環(huán)境與業(yè)務(wù)需求指定合適的備份策略。無論是選擇完全備份,還是選擇增量備份,都需要考慮它們的優(yōu)缺點(diǎn),是否適合當(dāng)前的環(huán)境。同時(shí),為了保證恢復(fù)的完整性,建議開啟二進(jìn)制日志功能,二進(jìn)制日志文件給恢復(fù)工作也帶來了很大的靈活性,可以基于時(shí)間點(diǎn)或位置進(jìn)行恢復(fù)。考慮到數(shù)據(jù)庫性能,我們可以將二進(jìn)制日志文件保存到其他安全的硬盤中。

在進(jìn)行熱備份時(shí),備份操作和應(yīng)用服務(wù)在同時(shí)運(yùn)行,這樣就十分消耗系統(tǒng)資源了,導(dǎo)致數(shù)據(jù)庫服務(wù)性能下降,這就要求我們選擇合適的時(shí)間,如,在應(yīng)用負(fù)擔(dān)很小的時(shí)候在進(jìn)行備份操作。

需要注意的是,不是備份完就萬事大吉了,***確認(rèn)備份是否可用,所以,備份之后的恢復(fù)測(cè)試是很有必要的,同時(shí)備份時(shí)間也要有靈活調(diào)整。如:

  • 數(shù)據(jù)更新頻繁,則應(yīng)該頻繁的備份
  • 數(shù)據(jù)的重要性,在有適當(dāng)更新時(shí)進(jìn)行備份
  • 在數(shù)據(jù)庫壓力小的時(shí)間段進(jìn)行備份,如一周一次完全備份,每天進(jìn)行增量備份。
  • 中小公司,完全備份一般一天一次即可
  • 大公司可每周進(jìn)行一次完全備份,每天進(jìn)行增量備份
  • 盡量為企業(yè)實(shí)現(xiàn)主從復(fù)制架構(gòu),以增加數(shù)據(jù)的高可用性

 

責(zé)任編輯:龐桂玉 來源: 今日頭條
相關(guān)推薦

2011-03-30 13:57:41

MySQL數(shù)據(jù)庫自動(dòng)備份

2011-03-31 14:34:46

cactimysql備份

2011-05-16 09:32:33

mysql數(shù)據(jù)庫備份

2018-08-24 13:58:13

數(shù)據(jù)庫MySQL備份

2011-04-06 09:09:17

MySQL數(shù)據(jù)庫備份

2010-05-28 11:41:46

MySQL數(shù)據(jù)庫備份

2013-05-24 13:24:46

Mysql數(shù)據(jù)庫自動(dòng)備份

2010-05-20 15:22:37

2010-06-04 09:58:03

MySQL數(shù)據(jù)庫備份

2019-12-13 10:31:45

數(shù)據(jù)庫SQLMySQL

2010-06-09 11:32:51

MySQL數(shù)據(jù)庫備份

2011-03-04 14:39:03

MySQL數(shù)據(jù)庫mysqldump

2015-03-18 13:39:35

MySQLBackup數(shù)據(jù)庫備份種類

2010-05-27 14:55:40

簡(jiǎn)單備份MySQL

2010-05-18 10:47:52

2010-05-31 10:56:48

MySQL數(shù)據(jù)庫

2011-08-15 09:48:30

MySQL數(shù)據(jù)庫完整備份增量備份

2011-03-31 14:46:29

MySQL數(shù)據(jù)庫備份

2011-03-03 16:10:04

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

2010-10-12 17:23:40

MySQL命令行
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)