国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

讀高性能MySQL(第4版)筆記14_備份與恢復(fù)(中)

這篇具有很好參考價值的文章主要介紹了讀高性能MySQL(第4版)筆記14_備份與恢復(fù)(中)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

讀高性能MySQL(第4版)筆記14_備份與恢復(fù)(中)文章來源地址http://www.zghlxwxcb.cn/news/detail-710036.html

1.?在線備份

2.?離線備份

2.1.?關(guān)閉MySQL做備份是最簡單、最安全的

2.2.?所有獲取一致性副本的方法中最好的

2.3.?損壞或不一致的風(fēng)險最小

2.4.?根本不用關(guān)心InnoDB緩沖池中的臟頁或其他緩存

2.5.?不需要擔(dān)心數(shù)據(jù)在嘗試備份的過程中被修改

2.5.1.?服務(wù)器不對應(yīng)用提供訪問

3.?備份時間

3.1.?將備份復(fù)制到目的地需要多久

4.?備份負(fù)載

4.1.?在將備份復(fù)制到目的地時對服務(wù)器性能的影響有多大

4.2.?在備份服務(wù)器上壓縮而不是在MySQL服務(wù)器上

4.3.?Percona XtraBackup和MySQL Enterprise Backup這樣的工具都有限流選項(xiàng),可在使用p v時加--rate-limit選項(xiàng)來限制備份腳本的吞吐量

5.?犧牲其一以增強(qiáng)另外一個

6.?恢復(fù)時間

6.1.?把備份鏡像從存儲位置復(fù)制到MySQL服務(wù)器、重放二進(jìn)制日志等,需要多久

7.?邏輯備份

7.1.?導(dǎo)出

7.2.?以一種MySQL能夠解析的格式來包含數(shù)據(jù)

7.2.1.?SQL語句

7.2.2.?以某個符號分隔的文本

7.3.?優(yōu)點(diǎn)

7.3.1.?邏輯備份備份的文件是可以用編輯器或像grep和sed之類的命令查看和操作的普通文件

7.3.2.?恢復(fù)非常簡單

7.3.3.?可以通過網(wǎng)絡(luò)來備份和恢復(fù),也就是說,可以在與MySQL主機(jī)不同的另外一臺機(jī)器上操作

7.3.4.?可以在類似云數(shù)據(jù)庫這樣不能訪問底層文件系統(tǒng)的系統(tǒng)中使用

7.3.5.?靈活

7.3.6.?與存儲引擎無關(guān)

7.3.6.1.?消除了底層數(shù)據(jù)存儲引擎的差異

7.3.7.?有助于避免數(shù)據(jù)損壞

7.3.7.1.?如果MySQL在內(nèi)存中的數(shù)據(jù)還沒有損壞,當(dāng)不能得到一個正常的裸文件備份時,或許可以得到一個可以信賴的邏輯備份

7.4.?缺點(diǎn)

7.4.1.?必須由數(shù)據(jù)庫服務(wù)器完成生成邏輯備份的工作,因此要占用更多的CPU周期

7.4.1.1.?某些場景下比數(shù)據(jù)庫文件本身更大

7.4.2.?無法保證導(dǎo)出后再還原出來的一定是同樣的數(shù)據(jù)

7.4.2.1.?浮點(diǎn)表示的問題、軟件Bug等都會導(dǎo)致問題

7.4.3.?從邏輯備份中還原需要MySQL加載和解釋語句,將它們轉(zhuǎn)化為存儲格式,并重建索引,所有這一切會很慢

7.4.3.1.?MySQL中導(dǎo)出數(shù)據(jù)和通過SQL語句將其加載回去的龐大開銷

7.4.3.2.?如果使用邏輯備份,測試恢復(fù)需要的時間將非常重要

7.4.3.3.?邏輯備份最可怕的地方就是不確定的還原時間

8.?裸文件備份

8.1.?原始文件是指存放于硬盤上的文件

8.2.?直接復(fù)制原始文件

8.3.?優(yōu)點(diǎn)

8.3.1.?基于文件的物理備份,它只需將需要的文件復(fù)制到其他地方即可完成備份,不需要其他額外的工作來生成原始文件

8.3.2.?非常容易跨平臺、操作系統(tǒng)和MySQL版本工作

8.3.3.?從裸文件備份中恢復(fù)會更快

8.3.3.1.?MySQL服務(wù)器不需要執(zhí)行任何SQL語句或構(gòu)建索引

8.3.3.2.?如果有很大的InnoDB表,無法完全緩存到內(nèi)存中,則裸文件備份的恢復(fù)要快得多

8.3.3.2.1.?至少要快一個數(shù)量級

8.4.?缺點(diǎn)

8.4.1.?InnoDB的原始文件通常比相應(yīng)的邏輯備份要大得多

8.4.1.1.?表空間往往包含很多未使用的空間

8.4.2.?不總是可以跨平臺、操作系統(tǒng)及MySQL版本的

8.4.2.1.?文件名大小寫敏感和浮點(diǎn)格式是可能會遇到麻煩的

8.4.2.2.?對于需要長期保留或者是用于滿足法律合規(guī)要求的備份,盡量不要完全依賴裸文件備份

8.4.2.3.?每隔一段時間需要做一次邏輯備份

8.4.3.?除非經(jīng)過測試,不要假定備份(特別是裸文件備份)是正常的

8.4.3.1.?CHECK TABLES

8.4.3.2.?不建議僅對文件運(yùn)行innochecksum

9.?混合使用

9.1.?使用裸文件備份

9.2.?用得到的數(shù)據(jù)啟動MySQL服務(wù)器實(shí)例并運(yùn)行mysqlcheck

9.3.?周期性地使用mysqldump執(zhí)行邏輯備份

9.4.?優(yōu)點(diǎn)是不會使生產(chǎn)服務(wù)器在導(dǎo)出時有過度負(fù)擔(dān)

9.5.?如果能夠方便地利用文件系統(tǒng)的快照,也可以生成一個快照,將該快照復(fù)制到另外一臺服務(wù)器上并釋放,然后測試原始文件,再執(zhí)行邏輯備份

10.?備份什么

10.1.?恢復(fù)的需求決定需要備份什么

10.2.?最簡單的策略是只備份數(shù)據(jù)和表定義,但這是一個最低的要求

10.3.?非顯著數(shù)據(jù)

10.3.1.?二進(jìn)制日志和InnoDB事務(wù)日志

10.3.2.?在理想情況下,應(yīng)該把整個數(shù)據(jù)目錄和MySQL一起備份起來

10.4.?代碼

10.4.1.?現(xiàn)代的MySQL服務(wù)器可以存儲許多代碼,例如,觸發(fā)器和存儲過程

10.4.2.?實(shí)際是存放在mysql數(shù)據(jù)庫中的

10.5.?服務(wù)器配置

10.5.1.?對于服務(wù)器配置來說,備份中對生產(chǎn)服務(wù)器至關(guān)重要的任何外部配置,都十分重要

10.6.?選定的操作系統(tǒng)文件

10.6.1.?在UNIX服務(wù)器上,這可能包括cron任務(wù)、用戶和組的配置、管理腳本,以及sudo規(guī)則

11.?部分備份

11.1.?一般不包含完整的數(shù)據(jù)集

11.1.1.?因?yàn)槟承?shù)據(jù)沒有改變

11.1.2.?對減少服務(wù)器開銷、備份時間及備份空間而言都很適合

11.2.?Percona XtraBackup和MySQL Enterprise Backup,仍然會掃描服務(wù)器上的所有數(shù)據(jù)塊,因而并不會節(jié)約太多的開銷

11.2.1.?確實(shí)會減少一定量的備份時間和大量用于壓縮的CPU時間

11.2.2.?會減少磁盤空間的使用

11.3.?差異備份

11.3.1.?自上次全備份后所有改變的部分而做的備份

11.4.?增量備份

11.4.1.?對自任意類型的上次備份后的所有修改做的備份

11.4.2.?缺點(diǎn)

11.4.2.1.?會增加恢復(fù)的復(fù)雜性

11.4.2.2.?額外的風(fēng)險

11.4.2.3.?更長的恢復(fù)時間

12.?建議

12.1.?使用Percona XtraBackup和MySQL Enterprise Backup中的增量備份特性

12.2.?備份二進(jìn)制日志

12.2.1.?在每次備份后使用FLUSH LOGS來開始記錄一個新的二進(jìn)制日志,這樣就只需要備份新的二進(jìn)制日志

12.3.?如果有一些“引用”表,例如,包含不同語種、各個月的名稱列表,或者州或區(qū)域的簡寫等,可以考慮將它們單獨(dú)放在一個數(shù)據(jù)庫中,這樣就不需要每次都備份這些表

12.3.1.?一個更好的選擇可能是把這些數(shù)據(jù)放到程序代碼中,而不是保存在數(shù)據(jù)庫中

12.4.?某些數(shù)據(jù)根本不需要備份

12.4.1.?相對于從全備份中可能獲得的快速恢復(fù)時間,避免備份可以節(jié)約更多時間開銷

12.4.2.?臨時數(shù)據(jù)也不用備份

12.5.?備份所有的數(shù)據(jù),然后發(fā)送到一個有去重特性的地方

12.6.?如果可以做全備份,考慮到簡便性,建議盡量做全備份

12.6.1.?建議至少一周一次

13.?復(fù)制

13.1.?從副本中備份最大的好處是可以不干擾源庫,避免在源庫上增加額外的負(fù)載

13.1.1.?這是一個建立副本服務(wù)器的好理由,即使不需要用它做負(fù)載均衡或提供高可用性

13.2.?用GTID是非常明智的

13.2.1.?避免了必須保存有關(guān)復(fù)制過程的所有信息

13.3.?故意將一個副本延遲復(fù)制一段時間對于某些災(zāi)難場景非常有用

13.4.?源庫與副本數(shù)據(jù)不匹配是很常見的,并且MySQL沒有方法檢測這個問題

13.4.1.?唯一方法是使用Percona Toolkit中的pt-table-checksum之類的工具

13.4.2.?防止這種情況的最好方法是使用super_read_only來確保只有復(fù)制可以寫入副本

13.5.?復(fù)制不是備份

到了這里,關(guān)于讀高性能MySQL(第4版)筆記14_備份與恢復(fù)(中)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 讀高性能MySQL(第4版)筆記09_創(chuàng)建高性能索引(下)

    讀高性能MySQL(第4版)筆記09_創(chuàng)建高性能索引(下)

    1.4.4.1.?InnoDB的二級索引在葉子節(jié)點(diǎn)中保存了記錄的主鍵值,所以如果二級索引能夠覆蓋查詢,則可以避免對主鍵索引的二次查詢 7.1.5.1.?常見的類似錯誤通常是由于嘗試使用rsync備份InnoDB導(dǎo)致的 7.3.3.1.?否則,對于范圍查詢、索引覆蓋掃描等操作來說,速度可能會降低很多 7

    2024年02月08日
    瀏覽(103)
  • 讀高性能MySQL(第4版)筆記11_查詢性能優(yōu)化(中)
  • 讀高性能MySQL(第4版)筆記12_查詢性能優(yōu)化(下)

    讀高性能MySQL(第4版)筆記12_查詢性能優(yōu)化(下)

    2.3.1.1.?讀取行指針和需要排序的字段,對其進(jìn)行排序,然后再根據(jù)排序結(jié)果讀取所需要的數(shù)據(jù)行 2.3.1.2.?即需要從數(shù)據(jù)表中讀取兩次數(shù)據(jù),第二次讀取數(shù)據(jù)的時候,因?yàn)槭亲x取排序列進(jìn)行排序后的所有記錄,這會產(chǎn)生大量的隨機(jī)I/O,所以兩次傳輸排序的成本非常高 2.3.2.1.?先

    2024年02月08日
    瀏覽(22)
  • 讀高性能MySQL(第4版)筆記10_查詢性能優(yōu)化(上)

    讀高性能MySQL(第4版)筆記10_查詢性能優(yōu)化(上)

    4.11.1.1.?在存儲引擎層完成的 4.11.2.1.?直接從索引中過濾不需要的記錄并返回命中的結(jié) 4.11.2.2.?在MySQL服務(wù)器層完成的,但無須再回表查詢記錄 4.11.3.1.?在MySQL服務(wù)器層完成 4.11.3.2.?需要先從數(shù)據(jù)表中讀出記錄然后過濾 4.13.2.1.?使用單獨(dú)的匯總表 5.5.1.1.?定期清除大量數(shù)據(jù)時,

    2024年02月08日
    瀏覽(33)
  • 讀高性能MySQL(第4版)筆記18_擴(kuò)展MySQL

    讀高性能MySQL(第4版)筆記18_擴(kuò)展MySQL

    4.2.2.1.?增加更多應(yīng)用節(jié)點(diǎn)可以擴(kuò)展服務(wù)用戶請求的客戶端數(shù) 4.2.2.2.?最終會被單源數(shù)據(jù)庫主機(jī)的能力所限制,該數(shù)據(jù)庫主機(jī)將要負(fù)責(zé)響應(yīng)所有的讀取請求 4.2.2.3.?高CPU使用率意味著服務(wù)器正花費(fèi)所有的時間處理查詢 4.2.2.4.?CPU的使用率越高,查詢的延遲也會越長 6.9.1.1.?負(fù)載均

    2024年02月08日
    瀏覽(22)
  • 讀高性能MySQL(第4版)筆記03_監(jiān)控

    讀高性能MySQL(第4版)筆記03_監(jiān)控

    7.1.1.1.?200響應(yīng)代碼 7.1.2.1.?202已接受 10.3.2.1.?連接的線程數(shù)(threads_connected)很高,但運(yùn)行的線程數(shù)(threads_running)仍然很低 10.3.3.1.?連接的線程數(shù)(threads_connected)和運(yùn)行的線程數(shù)(threads_running)都處于高值并持續(xù)增加 10.5.1.1.?數(shù)據(jù)庫工程師不斷努力的目標(biāo)之一

    2024年02月12日
    瀏覽(30)
  • 讀高性能MySQL(第4版)筆記02_MySQL架構(gòu)(下)

    讀高性能MySQL(第4版)筆記02_MySQL架構(gòu)(下)

    2.6.4.1.?失敗的事務(wù)可能導(dǎo)致不一致的結(jié)果,因?yàn)槟承┎糠挚梢曰貪L,而其他部分不能回滾 5.1.1.1.?在表的.ibd文件中 5.1.1.2.?減少了I/O,非常高效 5.2.1.1.?分區(qū)定義 5.2.1.2.?表定義 5.2.1.3.?存儲程序定義 5.2.1.4.?字符集 5.2.1.5.?排序信息 5.2.2.1.?每個表的.ibd和.frm文件被替換為已經(jīng)

    2024年02月12日
    瀏覽(19)
  • 讀高性能MySQL(第4版)筆記01_MySQL架構(gòu)(上)

    讀高性能MySQL(第4版)筆記01_MySQL架構(gòu)(上)

    1.2.2.1.?存儲過程 1.2.2.2.?觸發(fā)器 1.2.2.3.?視圖 3.3.2.1.?共享鎖(shared lock) 3.3.2.2.?資源上的讀鎖是共享的,或者說是相互不阻塞的 3.3.3.1.?排他鎖(exclusive lock) 3.3.3.2.?寫鎖則是排他的,也就是說,一個寫鎖既會阻塞讀鎖也會阻塞其他的寫鎖 3.3.3.3.?只有這樣才能確保在特定的

    2024年02月13日
    瀏覽(83)
  • 讀高性能MySQL(第4版)筆記17_復(fù)制(下)

    讀高性能MySQL(第4版)筆記17_復(fù)制(下)

    1.3.1.1.?安全補(bǔ)丁 1.3.1.2.?內(nèi)核更新 1.3.1.3.?一些配置選項(xiàng)更改后需要重新啟動才能生效 1.3.2.1.?確定將哪個副本切換為新的源 1.3.2.1.1.?一個包含所有數(shù)據(jù)的副本 1.3.2.2.?檢查延時,確保延時在秒級別 1.3.2.3.?通過設(shè)置super_read_only停止數(shù)據(jù)寫入源服務(wù)器 1.3.2.4.?等待副本與目標(biāo)完

    2024年02月08日
    瀏覽(29)
  • 讀高性能MySQL(第4版)筆記16_復(fù)制(上)

    讀高性能MySQL(第4版)筆記16_復(fù)制(上)

    4.1.1.1.?通過記錄所有在源端執(zhí)行的數(shù)據(jù)變更語句來實(shí)現(xiàn)的 4.1.1.2.?簡單且緊湊 4.1.1.3.?一條更新了大量數(shù)據(jù)的SQL語句,在二進(jìn)制日志中可能僅僅需要幾十字節(jié)存儲 4.1.1.4.?“不確定性”的SQL語句問題 4.1.1.4.1.?如果在源和副本上,記錄的排序不同,這條SQL語句在源和副本上刪除

    2024年02月08日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包