明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

詳細(xì)說明MySQ怎么完成數(shù)據(jù)備份

[摘要]本文給大家介紹MySQ什么是數(shù)據(jù)備份,讓大家了解MySQ實(shí)現(xiàn)數(shù)據(jù)備份的方法,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你們有所幫助。MySQL備份概述問題:備份和冗余有什么區(qū)別?備份:能夠防...
本文給大家介紹MySQ什么是數(shù)據(jù)備份,讓大家了解MySQ實(shí)現(xiàn)數(shù)據(jù)備份的方法,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你們有所幫助。

MySQL備份概述

問題:備份和冗余有什么區(qū)別?

  • 備份:能夠防止由于機(jī)械故障以及人為操作帶來的數(shù)據(jù)丟失,例如將數(shù)據(jù)庫文件保存在了其它地方。

  • 冗余:數(shù)據(jù)有多份冗余,但不等于備份,只能防止機(jī)械故障帶來的數(shù)據(jù)丟失,例如主備模式、數(shù)據(jù)庫集群。

備份是什么?

databases Binlog my.cnf /data/xxx(數(shù)據(jù)目錄)

備份數(shù)據(jù)庫,還有日志文件,還有配置文件,盡可能將數(shù)據(jù)目錄里面的文件全部備份。

備份過程中必須考慮因素:

  • 1、必須制定詳細(xì)的備份計(jì)劃(備份頻率、時(shí)間點(diǎn)、周期)(根據(jù)當(dāng)前的業(yè)務(wù)情況,需要考慮備份的時(shí)間和備份數(shù)據(jù)的大小。數(shù)據(jù)量太大的話就使用冗災(zāi))。

  • 2、備份數(shù)據(jù)應(yīng)該放在非數(shù)據(jù)庫本地,并建議有多份副本

  • 3、必須做好數(shù)據(jù)恢復(fù)的演練(每隔一段時(shí)間,對(duì)備份的數(shù)據(jù)在測(cè)試環(huán)境中進(jìn)行模擬恢復(fù),保證當(dāng)出現(xiàn)數(shù)據(jù)災(zāi)難的時(shí)候能夠及時(shí)恢復(fù)數(shù)據(jù)。)(保證數(shù)據(jù)的可用性)備份完成后進(jìn)行斷電模擬演練。測(cè)試數(shù)據(jù)庫是否可以正常啟動(dòng),數(shù)據(jù)能否正常進(jìn)行恢復(fù)。

  • 4、根據(jù)數(shù)據(jù)應(yīng)用的場(chǎng)合、特點(diǎn)選擇正確的備份工具。

  • 5、數(shù)據(jù)的一致性。

  • 6、數(shù)據(jù)的可用性。

備份類型

邏輯備份

邏輯備份就是在不停業(yè)務(wù)的情況下進(jìn)行備份。

備份的是建表、建庫、插入等操作所執(zhí)行SQL語句(DDL DML DCL),適用于中小型數(shù)據(jù)庫,效率相對(duì)較低。

(一般在數(shù)據(jù)庫正常提供服務(wù)的前提下進(jìn)行的);如:mysqldump、mydumper、 into outfile(表的導(dǎo)出導(dǎo)入)等

物理備份

直接復(fù)制數(shù)據(jù)庫文件,適用于大型數(shù)據(jù)庫環(huán)境,不受存儲(chǔ)引擎的限制,但不能恢復(fù)到不同的MySQL版本。

(一般在數(shù)據(jù)庫徹底關(guān)閉或者不能完成正常提供服務(wù)的前提下進(jìn)行的備份);如:tar、cp、xtrabackup、lvm snapshot等

在線熱備

在線熱備:AB復(fù)制(在線實(shí)時(shí))(指的是對(duì)數(shù)據(jù)的冗余)

M-S

M-Sn

M-S1-S2

M-M-Sn

備份工具

社區(qū)版安裝包中的備份工具

mysqldump

  • 企業(yè)版和社區(qū)版都包含

  • 本質(zhì)上使用SQL語句描述數(shù)據(jù)庫及數(shù)據(jù)并導(dǎo)出

  • 在MYISAM引擎上鎖表,Innodb引擎上鎖行

  • 數(shù)據(jù)量很大時(shí)不推薦使用

mysqlhotcopy

  • 企業(yè)版和社區(qū)版都包含

  • perl寫的一個(gè)腳本,本質(zhì)上是使用鎖表語句再拷貝數(shù)據(jù)

  • 只支持MYISAM數(shù)據(jù)引擎

企業(yè)版安裝包中的備份工具

mysqlbackup

  • 在線備份

  • 增量備份

  • 部分備份

  • 在某個(gè)特定時(shí)間的一致性狀態(tài)的備份

第三方備份工具

XtraBackup和innobackupex

Xtrabackup是一個(gè)對(duì)InnoDB做數(shù)據(jù)備份的工具,支持在線熱備份(備份時(shí)不影響數(shù)據(jù)讀寫),是商業(yè)備份工具InnoDB Hotbackup的一個(gè)很好的替代品

Xtrabackup有兩個(gè)主要的工具:xtrabackup、innobackupex

  • xtrabackup只能備份InnoDB和XtraDB兩種數(shù)據(jù)表,不能備份myisam類型的表,也不能備份數(shù)據(jù)表結(jié)構(gòu)。

  • innobackupex是將Xtrabackup進(jìn)行封裝的perl腳本,所以能同時(shí)備份處理innodb和myisam的存儲(chǔ)引擎,但在處理myisam時(shí)需要加一個(gè)讀鎖

mydumper

mydumper 多線程備份工具

https://launchpad.net/mydumper/mydumper-0.9.1.tar.gz

備份方法

完全備份

增量備份

詳解MySQ如何實(shí)現(xiàn)數(shù)據(jù)備份

差異備份

詳解MySQ如何實(shí)現(xiàn)數(shù)據(jù)備份

差異增量備份

詳解MySQ如何實(shí)現(xiàn)數(shù)據(jù)備份

? Sunday
An incremental level 0 backup backs up all blocks that have ever been in use in this database.

? Monday through Saturday
On each day from Monday through Saturday, a differential incremental level 1 backup backs up all blocks that have changed since the most recent incremental backup at level 1 or 0. The Monday backup copies blocks changed since Sunday level 0 backup, the Tuesday backup copies blocks changed since the Monday level 1 backup, and so forth.

累計(jì)增量備份

詳解MySQ如何實(shí)現(xiàn)數(shù)據(jù)備份

? Sunday
An incremental level 0 backup backs up all blocks that have ever been in use in this database.

? Monday - Saturday
A cumulative incremental level 1 backup copies all blocks changed since the most recent level 0 backup. Because the most recent level 0 backup was created on Sunday, the level 1 backup on each day Monday through Saturday backs up all blocks changed since the Sunday backup.

需要掌握的備份方法:

邏輯數(shù)據(jù)的導(dǎo)入導(dǎo)出(into outfile)、mysqldump、mysqlhotcopy、xtrabackup和innobackupex
lvm-snapshot、mysqlbackup

總結(jié):以上就是本篇文的全部?jī)?nèi)容,希望能對(duì)大家的學(xué)習(xí)有所幫助。更多相關(guān)教程請(qǐng)?jiān)L問mysql數(shù)據(jù)庫圖文教程 MySQL視頻教程,bootstrap視頻教程!

以上就是詳解MySQ如何實(shí)現(xiàn)數(shù)據(jù)備份的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。