mysql備份與恢復(fù)

mysql數(shù)據(jù)庫備份與恢復(fù)

一、為什么要備份

災(zāi)難恢復(fù):硬件故障、軟件故障焙蹭、自然災(zāi)害、黑客攻擊墅诡、誤操作測試等數(shù)據(jù)丟失場景

備份注意要點

能容忍最多丟失多少數(shù)據(jù)

恢復(fù)數(shù)據(jù)需要在多長時間內(nèi)完成

需要恢復(fù)哪些數(shù)據(jù)

還原要點

做還原測試壳嚎,用于測試備份的可用性
還原演練

二桐智、備份類型

備份類型:

完全備份,部分備份
完全備份:整個數(shù)據(jù)集
部分備份:只備份數(shù)據(jù)子集烟馅,如部分庫或表
完全備份说庭、增量備份、差異備份
增量備份:僅備份最近一次完全備份或增量備份(如果存在增量)以來變化的數(shù)據(jù)郑趁,備份較快刊驴,還原復(fù)雜
差異備份:僅備份最近一次完全備份以來變化的數(shù)據(jù),備份較慢寡润,還原簡單
//注意:二進(jìn)制日志文件不應(yīng)該與數(shù)據(jù)文件放在同一磁盤

三捆憎、備份種類

冷、溫梭纹、熱備份

冷備:讀寫操作均不可進(jìn)行
溫備:讀操作可執(zhí)行躲惰;但寫操作不可執(zhí)行
熱備:讀寫操作均可執(zhí)行
MyISAM引擎:溫備,不支持熱備

InnoDB引擎: 都支持

物理和邏輯備份
物理備份:直接復(fù)制數(shù)據(jù)文件進(jìn)行備份变抽,與存儲引擎有關(guān)础拨,占用較多的空間,速度快
邏輯備份:從數(shù)據(jù)庫中“導(dǎo)出”數(shù)據(jù)另存而進(jìn)行的備份绍载,與存儲引擎無關(guān)诡宗,占用空間少,速度慢击儡,可能丟失精度

四塔沃、邏輯備份

邏輯備份特點

1.備份的都是SQL語句,數(shù)據(jù)量大的話SQL語句備份快阳谍,但是恢復(fù)數(shù)據(jù)的時候會很慢
2.備份的是建表蛀柴、建庫、插入等操作所執(zhí)行SQL語句(DDL DML DCL)边坤,適用于中小型數(shù)據(jù)庫名扛。
3.效率相對較低

用法

mysqldump   -h 服務(wù)器(默認(rèn)本機(jī)) -u..  -p..  數(shù)據(jù)庫名>name.sql

日常用法
備份所有數(shù)據(jù)庫

先配置用戶名和密碼
在任意文件內(nèi)配置
[mysqldump]
user=root
password=root
...
文件內(nèi)容配好的話谅年,在備份的時候可以用 --defaults-file直接讀取文件內(nèi)容茧痒,方便快捷

mysqldump --defaults-file=~/.mysql_user --all-databases > xxx.sql
# 不包含 INFORMATION_SCHEMA,performance_schema,sys

備份單個庫

mysqldump --defaults-file=/root/.mysql_user -hlocalhost  --databases servers >servers.sql
mysqldump --defaults-file=/root/.mysql_user -hlocalhost   servers>servers.sql
加與不加--databases的區(qū)別:   
         加上--databases的話,備份文件內(nèi)會有創(chuàng)庫與進(jìn)庫語句
        如果不加的話融蹂,必須自己創(chuàng)建庫并且進(jìn)入庫

進(jìn)入數(shù)據(jù)庫內(nèi)使用    source  backup.sql

備份多個庫

mysqldump --defaults-file=/root/.mysql_user -hlocalhost  --databases db1 db2  db3  .  >db.sql

備份一個庫的幾個表

mysqldump  --defaults-file=/root/.mysql_user  -hlocalhost   db1 t1 t2 t3  >backup.sql

恢復(fù)數(shù)據(jù)

1.   mysql -uroot  -proot   db < backup.sql

2.   進(jìn)入數(shù)據(jù)庫
source   backup.sql

五旺订、物理備份

5.1、全量備份

知識

對數(shù)據(jù)庫在線進(jìn)行全備的時候超燃,用戶可以對數(shù)據(jù)庫進(jìn)行增刪改查区拳,如果數(shù)據(jù)庫已經(jīng)完成備份后,數(shù)據(jù)并不會同步意乓,如果不處理的話數(shù)據(jù)就會造成損失

這時會有一個事件用來監(jiān)控那些已經(jīng)備份完成之后的數(shù)據(jù)庫樱调,這些內(nèi)容會存儲在xtrabackup_logfile這個二進(jìn)制文件內(nèi),但是這個文件并不能數(shù)據(jù)庫解析,所以數(shù)據(jù)備份之后就要對這個文件進(jìn)行恢復(fù)笆凌,將其轉(zhuǎn)換為可以被mysql識別的文件圣猎,然后在進(jìn)行恢復(fù)數(shù)據(jù),也就是復(fù)制文件

下載xtrabackup

1.  yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
2.  yum  install -y libev  
3.  yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
4.  yum install percona-xtrabackup-24

全備的大致流程

1.    創(chuàng)建好存儲備份的目錄
2.    對數(shù)據(jù)庫進(jìn)行備份
3.    將事件產(chǎn)生的日志轉(zhuǎn)換為數(shù)據(jù)庫可以識別的
4.    將數(shù)據(jù)庫服務(wù)停止
5.    進(jìn)行備份
6.    開啟數(shù)據(jù)庫服務(wù)進(jìn)行驗證

全備的操作

1.   shell> xtrabackup --backup --user=root --password='123'  --target-dir=/backups/full

# 備份完成后乞而,可以看到備份時的LSN號送悔,當(dāng)下次進(jìn)行增量備份時,xtrabackup就只備份大于此號的page即可爪模。
2.   shell> xtrabackup --prepare --target-dir=/backups/full
3.  shell> systemctl stop mysqld.service
4.  shell> rm -rf /var/lib/mysql/*
5.  shell> xtrabackup --copy-back --datadir=/var/lib/mysql --target-dir=/backups/ful
6.   systemctl start mysqld     開啟數(shù)據(jù)庫服務(wù)進(jìn)行檢驗

5.2欠啤、增量備份

增量備份是在全備的基礎(chǔ)之上進(jìn)行增量備份
特點:是在上一次備份的基礎(chǔ)上進(jìn)行增量備份

創(chuàng)建增量備份

  1. 進(jìn)行全量備份
xtrabackup --backup --user=root --password=root  --target-dir=/backup/full
  1. 進(jìn)行增量備份
手動增加數(shù)據(jù)之后進(jìn)行增量備份
第一次增量備份
xtrabackup --backup --user=root --password=root  --target-dir=/backup/inc1  --incremental-basedir=/backup/full
在第一次全備的基礎(chǔ)上進(jìn)行增量備份,備份后的文件放在inc1目錄內(nèi)
第二次增量備份
xtrabackup --backup --user=root --password=root  --target-dir=/backup/inc2  --incremental-basedir=/backup/inc1
在第一次增量備份的基礎(chǔ)上進(jìn)行增量備份屋灌,備份后的文件放在inc2目錄內(nèi)
  1. 恢復(fù)數(shù)據(jù)
1. 準(zhǔn)備全備的數(shù)據(jù)
xtrabackup  --prepare  --apply-log-only --target-dir=/backup/full
2.把第一次備份的數(shù)據(jù)合并到全備的數(shù)據(jù)內(nèi)
xtrabackup  --prepare  --apply-log-only --target-dir=/backup/full  --
incremental-dir=/backup/incl
3.把第一次備份的數(shù)據(jù)合并到全備的數(shù)據(jù)內(nèi)
xtrabackup  --prepare   --target-dir=/backup/full  --
incremental-dir=/backup/inc2
注意最后一次合并不加 --apply-log-only
  1. 停止服務(wù)洁段,刪除數(shù)據(jù)
systemctl stop mysqd
rm -rf /var/lib/mysqld/*

5.恢復(fù)數(shù)據(jù)

xtrabackup --copy-back --datadir=/var/lib/mysql  --target-dir=/backup/full

6.修改權(quán)限之后開啟服務(wù)就可以了

將數(shù)據(jù)庫恢復(fù)默認(rèn)

1.  關(guān)閉服務(wù)   將數(shù)據(jù)庫內(nèi)的內(nèi)容全部清空
2.  mysqld --initialize --user=mysql 
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市共郭,隨后出現(xiàn)的幾起案子眉撵,更是在濱河造成了極大的恐慌,老刑警劉巖落塑,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纽疟,死亡現(xiàn)場離奇詭異,居然都是意外死亡憾赁,警方通過查閱死者的電腦和手機(jī)污朽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來龙考,“玉大人蟆肆,你說我怎么就攤上這事』蘅睿” “怎么了炎功?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長缓溅。 經(jīng)常有香客問我蛇损,道長,這世上最難降的妖魔是什么坛怪? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任淤齐,我火速辦了婚禮,結(jié)果婚禮上袜匿,老公的妹妹穿的比我還像新娘更啄。我一直安慰自己,他們只是感情好居灯,可當(dāng)我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布祭务。 她就那樣靜靜地躺著内狗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪义锥。 梳的紋絲不亂的頭發(fā)上其屏,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機(jī)與錄音缨该,去河邊找鬼偎行。 笑死,一個胖子當(dāng)著我的面吹牛贰拿,可吹牛的內(nèi)容都是我干的蛤袒。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼膨更,長吁一口氣:“原來是場噩夢啊……” “哼妙真!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起荚守,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤珍德,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后矗漾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锈候,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年敞贡,在試婚紗的時候發(fā)現(xiàn)自己被綠了泵琳。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡誊役,死狀恐怖获列,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蛔垢,我是刑警寧澤击孩,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站鹏漆,受9級特大地震影響巩梢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜甫男,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一且改、第九天 我趴在偏房一處隱蔽的房頂上張望验烧。 院中可真熱鬧板驳,春花似錦、人聲如沸碍拆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至端幼,卻和暖如春礼烈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背婆跑。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工此熬, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人滑进。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓犀忱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親扶关。 傳聞我的和親對象是個殘疾皇子阴汇,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容