MySQL云數據庫應用與實踐 課件 ch11- 數據庫的恢復技術_第1頁
MySQL云數據庫應用與實踐 課件 ch11- 數據庫的恢復技術_第2頁
MySQL云數據庫應用與實踐 課件 ch11- 數據庫的恢復技術_第3頁
MySQL云數據庫應用與實踐 課件 ch11- 數據庫的恢復技術_第4頁
MySQL云數據庫應用與實踐 課件 ch11- 數據庫的恢復技術_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第十一章

數據庫的恢復技術Database西北工業大學NorthwesternPolytechnicalUniversity數據庫目錄11.1

實戰目標與準備11.2數據庫中的恢復技術概述11.3

MySQL中基于數據轉儲的備份與恢復實戰11.4MySQL中基于日志的手動恢復實戰11.5MySQL中的Redo與Undo日志11.1實戰目標與準備實戰目標本章的目標是在掌握了數據庫和基本表的創建和管理的基礎上,學習如何通過一定的工具或SQL命令來對基本表中的數據進行增、刪、改、查等基本操作。熟練掌握對基本表進行數據插入、修改和刪除的SQL語句。熟練掌握數據查詢的SQL語句(簡單查詢和復合查詢)。掌握對視圖的數據操作,并了解其與基本表數據操作的關系。掌握SQL語句查詢性能分析的基本知識。了解TPC-C基準數據庫11.2數據庫中的恢復技術概述故障是不可避免的:系統故障:計算機軟、硬件故障人為故障:操作員的失誤、惡意的破壞等。故障的影響:運行中事務非正常中斷,影響數據庫中數據的正確性。破壞數據庫,全部或部分丟失數據。數據庫的恢復

把數據庫從錯誤狀態恢復到某一已知的正確狀態(亦稱為一致狀態或完整狀態。恢復技術是衡量系統優劣的重要指標11.2數據庫中的恢復技術概述數據轉儲是指數據庫管理員定期將全部或者部分數據存儲到備份介質上,發生故障時從備份介質恢復的過程。通常DBA可以根據具體業務場景、涉及數據量大小等因素,設計合適的定時全量備份、增量備份等不同備份策略,例如每周進行全量備份,每日進行增量備份。日志系統:記錄事務對數據庫的更新操作,主要用于事務故障恢復和系統故障恢復。11.3MySQL中基于數據轉儲的備份與恢復實戰MySQL中的基于數據轉儲的數據備份恢復可以通過多種方式進行。官方提供的mysqldump、mysqlbackup等第三方工具,如xtrabackup,mydumper等。11.4MySQL中基于日志的手動恢復實戰日志類型日志標識默認說明一般查詢日志log不開啟記錄所有的查詢,占空間影響性能,默認不開(general-log)錯誤日志log-err開啟記錄mysql服務的錯誤慢查詢日志log-slow-queries開啟記錄執行時間超過long_query_time設定時間閾值(秒)的SQL語句,mysqldumpslow。二進制日志log-bin開啟Mysql的server層變更日志,主要用于記錄修改數據或有可能引起數據改變的mysql語句,可用于數據復制或者恢復。滾動文件,由.index文件管理。中繼日志relaylog不開啟主從復制時使用的日志事務日志innodb_log開啟InnoDB特有的事務日志redo和undo日志,幫助提高事務的效率。存儲引擎在修改表的數據時只需要修改其內存拷貝,再把修改行為記錄到持久在硬盤上的事務日志中,而不用每次都將修改的數據本身持久到磁盤。MySQL中日志文件類型:my.ini或者f11.4MySQL中基于日志的手動恢復實戰二進制日志:Binlog文件:用于進行數據恢復的日志(主從同步或者恢復)--顯示binlog的基本信息showvariableslike'log_bin‘;--確認binlog是否開啟showmasterlogs;--顯示所有的binlog文件showmasterstatus;--顯示最新的binlog的最后位置showbinlogevents;

--顯示所有的binlog--顯示指定binlogshowbinlogeventsin'THINKPAD_LINING-bin.000019’;--顯示指定binlog中某個位置之后的logshowbinlogeventsin'THINKPAD_LINING-bin.000019'from40080;showbinlogeventsin'THINKPAD_LINING-bin.000019'from40080limit10;--刷新binlog,生成一個新的binlog文件flushlogs;Binlog文件:用于進行事務恢復的日志Row:不記錄sql語句上下文相關信息,僅保存哪條記錄被修改。Statement:每一條會修改數據的sql都會記錄在binlog中。Mixedlevel:

是以上兩種的混合使用,一般的語句修改使用statement格式保存binlog,如一些函數;statement無法完成主從復制的操作,則采用row格式保存binlog.MySQL會根據執行的每一條具體的sql語句來區分對待記錄的日志形式。11.4MySQL中基于日志的手動恢復實戰11.4MySQL中基于日志的手動恢復實戰Binlog文件:用于binlog進行事務恢復創建新的binlog日志文件執行常規SQL數據操作(含創建,增刪改操作)從日志中找回待恢復之前的SQL語句,導出為test000022.sql1.mysqlbinlog.exemysql-bin.000022>test_000022.txt2.在txt日志中查找待恢復(如DROPTABLE)日志的位置(該語句的at2413)3.導出binlog日志中'DROPTABLE'之前的SQL語句mysqlbinlogmysql-bin.000022-ddb1--skip-gtids--stop-position=2413>test000022.sql在mysql中執行以上SQL文件flushlogs;showmasterstatus;假設:最新:mysql-bin.000022sourceC:\ProgramData\MySQL\MySQLServer8.0\Data\test000022.sql11.4MySQL中基于日志的手動恢復實戰Binlog文件:(輸出為txt文件)Window的日志默認路徑:C:\ProgramData\MySQL\MySQLServer8.0\Data11.5MySQL中的Redo與Undo日志MySQL的InnoDB存儲引擎架構(引自MySQL官網)11.5MySQL中的Redo與Undo日志redolog:物理日志,提升事務持久化處理的性能。只記錄事務對數據頁做了哪些修改。在磁盤上由名為ib_logfile0和ib_logfile1。包含兩部分:先寫內存

->

后續某個時間一次性寫多條到磁盤。內存中的日志緩沖(redologbuffer,易失)磁盤上的日志文件(redologfile

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論