本文主要給大家介紹MySQL備份詳析,文章內(nèi)容都是筆者用心摘選和編輯的,mysql備份詳析具有一定的針對(duì)性,對(duì)大家的參考意義還是比較大的,下面跟筆者一起了解下主題內(nèi)容吧。
成都創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供岷縣網(wǎng)站建設(shè)、岷縣做網(wǎng)站、岷縣網(wǎng)站設(shè)計(jì)、岷縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、岷縣企業(yè)網(wǎng)站模板建站服務(wù),十載岷縣做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
一 備份類(lèi)型
按是否離線
1)熱備份,在線備份,讀寫(xiě)不受影響;難度大
2)溫備份,能讀不能寫(xiě)
3)冷備份,離線備份,讀寫(xiě)均中止
物理備份,復(fù)制數(shù)據(jù)文件
邏輯備份,復(fù)制數(shù)據(jù)導(dǎo)出至文本文件中
完全備份:備份全部數(shù)據(jù),可能是一個(gè)數(shù)據(jù)庫(kù)的全部數(shù)據(jù)
增量備份:僅備份上次完全備份或增量備份以后變化的數(shù)據(jù);
差異備份:僅備份上次完全備份以來(lái)變化的數(shù)據(jù);
備份方式可自由組合
二 備份需考慮的問(wèn)題
1 備份什么?
數(shù)據(jù)、配置文件、二進(jìn)制日志、事務(wù)日志
2 離線備份還是在線備份?
MyISAM不宜進(jìn)行熱備,一旦備份中出現(xiàn)問(wèn)題,不能用于還原,推薦使用溫備份(以共享方式鎖定所有表)
如果必須使用熱備,使用LVM進(jìn)行快照
InnoDB熱備工具:xtrabackup(物理備份), mysqldump(邏輯備份)
最好使用離線備份,較為安全,使用主從實(shí)現(xiàn),可以在某一時(shí)刻停掉從
云服務(wù)器的服務(wù),進(jìn)行離線備份
3 物理備份還是邏輯備份?
物理備份,
優(yōu)勢(shì):直接復(fù)制數(shù)據(jù)文件,速度快
缺點(diǎn):有些數(shù)據(jù)依賴文件系統(tǒng),移植能力有限
邏輯備份
優(yōu)勢(shì):方便使用文本處理工具直接對(duì)其處理,移植能力強(qiáng)
缺點(diǎn):復(fù)制數(shù)據(jù)導(dǎo)出至文本文件中,數(shù)據(jù)慢,丟失浮點(diǎn)數(shù)精度(轉(zhuǎn)化為文本時(shí)丟失)
4 備份策略選擇?
完全備份+增量備份 或者 完全備份+差異備份
三 mysql備份工具
mysqldump,邏輯備份工具,MyISAN(溫備),InnoDB(熱備)
mysqlhotcopy,物理備份工具,冷備
文件系統(tǒng)備份工具
cp:冷備
lvm:邏輯卷快照,幾乎熱備
mysql> lock tables user read;
mysql> FLUSH TABLES;
創(chuàng)建快照:釋放鎖,而后復(fù)制數(shù)據(jù)
注意:
InnoDB有一個(gè)問(wèn)題:flush和lock tables后,數(shù)據(jù)庫(kù)還可能有數(shù)據(jù)操作,比如沒(méi)有commit的事物
所以要確保數(shù)據(jù)完全寫(xiě)入磁盤(pán)后才能進(jìn)行快照
ibback,商業(yè)工具
extrabackup,開(kāi)源工具
網(wǎng)絡(luò)備份工具
porconna-tool
四 mysqldump實(shí)現(xiàn)備份
1 備份一個(gè)庫(kù)
mysqldump DB_NAME [tb1] [tb2]備份單個(gè)數(shù)據(jù)庫(kù),或庫(kù)中特定表;恢復(fù)時(shí),需要手動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)
mysql> LOCK TABLES;鎖表
mysql> FLUSH TABLES;數(shù)據(jù)寫(xiě)入磁盤(pán)
mysql> flush logs;二進(jìn)制文件日志
mysql> show bianry log;顯示二進(jìn)制日志
備份:mysqldump -u root -h localhost -p jiaowu > jiaowu_bak.sql
還原:mysql jiaowu < jiaowu_bak.sql
--master-data={0|1|2}
0: 不記錄二進(jìn)制日志文件及路位置;
1:以CHANGE MASTER TO的方式記錄位置,可用于恢復(fù)后直接啟動(dòng)從云
服務(wù)器;
2:以CHANGE MASTER TO的方式記錄位置,但默認(rèn)為被注釋?zhuān)?/div>
--lock-all-tables:鎖定所有表
--flush-logs: 執(zhí)行日志flush;
如果指定庫(kù)中的表類(lèi)型均為InnoDB,可使用--single-transaction啟動(dòng)熱備,不需要鎖表
2 備份多個(gè)庫(kù):
--all-databases: 備份所有庫(kù)
--databases DB_NAME,DB_NAME,...: 備份指定庫(kù)
--events
--routines
--triggers
五 即時(shí)點(diǎn)還原
1 備份策略:每周完全+每日增量
完全備份:mysqldump
增量備份:備份二進(jìn)制日志文件(flush logs)
2 完全備份
# mysqldump -u root -p --flush-logs --master-data=2 --flush-logs --all-databases --lock-all-tables [--triggers --routines] --events > alldb.sql
時(shí)間過(guò)去一天
3 增量備份
# cd /data/mysql/
# mysqladmin flush-logs
# mysqlbinlog mysql-bin.000019 > /root/monday-increment.sql
3.1 增量備份
# mysqladmin flush-logs
# mysqlbinlog mysql-bin.000020 > /root/tuesday-increment.sql
4 數(shù)據(jù)庫(kù)損壞mysql無(wú)法啟動(dòng)
初始化mysql數(shù)據(jù)庫(kù)
4.1 恢復(fù)完全備份
# mysql < alldb.sql
4.2 恢復(fù)增量備份即可
4.3 導(dǎo)出最后的二進(jìn)制日志并恢復(fù)
mysql> mysqlbinlog mysql-bin.000020 | mysql
說(shuō)明:清除二進(jìn)制文件至
mysql> show binary logs;
mysql> purge binary logs to 'mysql-bin.000019';
# mysqladmin flush-logs
看完以上關(guān)于mysql備份詳析,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識(shí)信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。
當(dāng)前名稱(chēng):mysql備份詳析
標(biāo)題鏈接:http://aaarwkj.com/article32/pjsdpc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、企業(yè)建站、定制開(kāi)發(fā)、虛擬主機(jī)、響應(yīng)式網(wǎng)站、App開(kāi)發(fā)
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源:
創(chuàng)新互聯(lián)