国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

mysql備份與恢復(fù)詳解

2020-01-18 23:40:34
字體:
供稿:網(wǎng)友

MYSQL的備份有多少種,請簡要的描述:
數(shù)據(jù)庫分邏輯備份/物理備份
物理備份又分冷備和熱備

A.直接拷貝數(shù)據(jù)文件到安全地方進(jìn)行保存
B.使用MYSQLHOSTCOPY備分?jǐn)?shù)據(jù)
C.使用MYSQLDUMP備份數(shù)據(jù)
D.使用MYSQL的同步復(fù)制,實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)數(shù)據(jù)同步備份

常用的邏輯備份主要就是兩種:一種是將數(shù)據(jù)生成為可以完全重現(xiàn)當(dāng)前數(shù)據(jù)庫中的數(shù)據(jù)的insert語句,另一種是將數(shù)據(jù)通過邏輯備份軟件,將數(shù)據(jù)庫表的數(shù)據(jù)以特定分隔符進(jìn)行分割后記錄在文本中。

對于第一種生成insert語句來說我們可以直接使用mysql自帶的工具mysqldump來完成。這種方式不好之處在于可能導(dǎo)致數(shù)據(jù)的不一致,或是不完整。解決辦法:一個(gè)是通過在數(shù)據(jù)庫系統(tǒng)中加入寫入鎖,只提供數(shù)據(jù)庫的查詢服務(wù);第二種是對于支持事務(wù)的存儲(chǔ)引擎來說,INNODB BDB可以通過將整個(gè)備份過程控制在一個(gè)事務(wù)中,來達(dá)到備份數(shù)據(jù)的一致性和完整性;并且可以不用影響到數(shù)據(jù)庫的正常運(yùn)行。
恢復(fù)方式則是通過mysql<backup.sql直接運(yùn)行的。
第二種直接生成數(shù)據(jù)格式。占用的空間小,數(shù)據(jù)格式清晰。可是沒有數(shù)據(jù)庫結(jié)構(gòu)的腳本。不容易控制
實(shí)現(xiàn)方式:通過select******* to outfile from***命令來實(shí)現(xiàn)。恢復(fù)方式就是通過,load data infile和mysqlimport命令來做。

這一過程相當(dāng)?shù)膹?fù)雜需要實(shí)時(shí)的進(jìn)行恢復(fù)測試,保證備份數(shù)據(jù)是可用的
數(shù)據(jù)庫的物理備份,主要的對象是數(shù)據(jù)庫的物理數(shù)據(jù)文件,日志文件以及配置文件等。

物理數(shù)據(jù)文件有哪些呢?
一是日志文件6大類:錯(cuò)誤日志error Log、二進(jìn)制日志binary Log、更新日志 update log、查詢?nèi)罩?query log、慢查詢?nèi)罩?slow query log、innodb的redo日志。
二是數(shù)據(jù)文件?對于myisam來說的話,.frm表結(jié)構(gòu)信息.myd數(shù)據(jù)信息.myi數(shù)據(jù)的索引信息。對于Innodb來說的話.ibd文件(獨(dú)享表空間)和.ibdata(共享表空間)文件
三是replication文件?master.info存儲(chǔ)在slave端的數(shù)據(jù)目錄下,存放了slave和master的相關(guān)信息,relay log和 relay log index主要存儲(chǔ)了I/O進(jìn)程從Master端讀取到的binary log信息,然后由slave端的SQL線程從該binary log中讀取解析過的日志信息,轉(zhuǎn)化成master所能執(zhí)行的query語句。index則是存放binarylog的路徑也就是目錄文件。
四是系統(tǒng)文件?如my.cnf、pid文件是mysqld應(yīng)用程序中的一個(gè)進(jìn)程文件存放自己的進(jìn)程id還有就是socket文件它只有在linux下才有的,可以不通過tcp/ip網(wǎng)絡(luò)協(xié)議直接連接mysql

如果是做冷備的話,直接復(fù)制所有的數(shù)據(jù)文件和日志文件到備份集存放的地方,

熱備的方法針對不多的數(shù)據(jù)庫有不同的方案
對于myisam存儲(chǔ)引擎來說,做法就是給數(shù)據(jù)庫表加鎖來阻止寫操作,可以直接復(fù)制物理文件,或者也可以通過mysql專門的mysqlhotcopy(原理就是現(xiàn)鎖住表,然后進(jìn)行操作)程序來完成相應(yīng)的備份任務(wù)。
flush tables with read lock
cp -R test /tmp/backup/test
unlock tables;

innodb數(shù)據(jù)庫引擎來說,有一款商業(yè)軟件ibbackup,在線物理備份功能。還有一款開源的工具xtrabackup,
如果在備份過程中,把INNODB數(shù)據(jù)文件備份完成后,會(huì)鎖住整個(gè)庫,并開始復(fù)制MYISAM等非事務(wù)引擎的數(shù)據(jù)和.frm;所以如果你擁有比較多的MYISAM表,鎖庫的時(shí)候會(huì)持續(xù)很長。如果是在主庫上運(yùn)行,千萬注意。

同樣也只能通過xtrabackup進(jìn)行增量的備份,其實(shí)這一工具只是備份innobd的日志信息。

4 xtrabackup/ibbackup
xtrabackup --backup --datadir=/var/lib/mysql/ --target-
dir=/data/backups/mysql/

xtrabackup --backup  --defaults-file=/etc/my.cnf --target-
dir=/data/backups/mysql/
mysql的備份方式

1.mysqldump
效率比較低,備份和還原的速度都很慢,任何數(shù)據(jù)插入和更新操作都會(huì)被掛起

2.mysqlhotcopy
mysqlhotcopy 是專門針對myisam 數(shù)據(jù)表進(jìn)行備份,備份的過程中,任何數(shù)據(jù)插入和更新操作都會(huì)被掛起

3.準(zhǔn)備一臺(tái)從服務(wù)器,專門做備份(master-slave方式)

4.xtrabackup 是 percona 的一個(gè)開源項(xiàng)目,可熱備份innodb ,XtraDB,MyISAM(會(huì)鎖表)
 
Xtrabackup有兩個(gè)主要的工具:xtrabackup、innobackupex
xtrabackup只能備份InnoDB和XtraDB兩種數(shù)據(jù)表,而不能備份MyISAM數(shù)據(jù)表
innobackupex-1.5.1則封裝了xtrabackup,是一個(gè)腳本封裝,所以能同時(shí)備份處理innodb和myisam,但在處理myisam時(shí)需要加一個(gè)讀鎖
Øxtra備份原理
記住開始時(shí)候的LSN號,然后開始拷備文件,同時(shí)運(yùn)
行一個(gè)后臺(tái)進(jìn)程監(jiān)視重做日志,并將變化拷備下來到
xtrabackup_logfile。

innobackupex可以備份myisam表和frm文件。當(dāng)
xtrabackup結(jié)束后,執(zhí)行flush tables with read lock,避
免數(shù)據(jù)更改,然后刷新所有myisam表到磁盤。拷備結(jié)
束后,釋放鎖。

mysqlbinlog也是一個(gè)恢復(fù)工具,是基于時(shí)間點(diǎn)來處理二進(jìn)制文件的

Ø備份:直接拷備

Ø還原:
ü時(shí)間點(diǎn)還原:mysqlbinlog --stop-date="2005-04-20 9:59:59"
/var/log/mysql/bin.123456 | mysql -u root

主站蜘蛛池模板: 南城县| 巴马| 张家港市| 沙坪坝区| 漳平市| 含山县| 那坡县| 青岛市| 丹凤县| 宜黄县| 闸北区| 彰武县| 东辽县| 读书| 吴川市| 宝应县| 崇州市| 南川市| 上饶市| 朝阳区| 米易县| 德钦县| 大洼县| 普安县| 承德县| 来凤县| 德令哈市| 禹城市| 普安县| 璧山县| 德保县| 含山县| 卓尼县| 聂拉木县| 多伦县| 礼泉县| 东乌| 宣城市| 辉县市| 新田县| 锡林郭勒盟|