怎么對mysql備份數據庫與恢復
??隨著自動化辦公與電子商務的不斷發展,企業對信息系統的依賴性越來越高,而數據庫在信息系統中擔任著非常重要的角色。尤其是一些對數據可靠性要求高的行業,如果發生數據丟失,其損失是非常嚴重的。因此,我們對數據庫指定詳細的數據庫備份與災難恢復的策略是完全有必要的。一些對數據可靠性要求高的行業,如果發生數據丟失,其損失是非常嚴重的。因此,我們對數據庫指定詳細的數據庫備份與災難恢復的策略是完全有必要的。下面就由新網小編和大家講一講怎么對mysql備份數據庫與恢復。
??1.造成數據丟失的原因
??程序錯誤、人為操作錯誤、運算錯誤、磁盤故障、災難(火災、地震)和盜竊等
??2.數據備份的類型
??1)從物理與邏輯的角度分類
??物理備份可分為:
??冷備份(脫機備份):在數據庫關閉狀態下進行備份操作
??熱備份(聯機備份):在數據庫處于運行狀態時進行備份操作,該備份方法依賴數據庫的日志文件
??溫備份:數據庫鎖定表格(不可寫入但可讀)的狀態下進行備份操作
??說白了物理備份是對數據庫操作系統的物理文件(如數據文件、日志文件等)的備份,這種類型的備份適用于在出現問題時需要快速恢復的大型重要數據庫。
??邏輯備份是對數據庫邏輯組件(如表等數據庫對象)的備份,這種類型的備份使用于可以編輯數據值或表結構較小的數據量,或者在不同的機器體系結構上重新創建數據。
??2)從數據庫的備份策略角度分類
??從備份策略可分為:
??完全備份:每次對數據進行完整的備份,即對整個數據庫的備份、數據庫結構和文件結構的備份,保存的是備份完成時刻的數據庫,是差異備份與增量備份的基礎。完全備份的備份與恢復操作都非常簡單方便,但數據存在大量的重復,并且會占用大量的磁盤空間,備份時間也很長。
??差異備份:備份那些從上一次完全備份之后被修改過的所有文件,備份的時間節點是從上次完整備份起,備份數據量會越來越大。恢復數據時,只需恢復上次的完整備份與最近一次的差異備份。
??增量備份:只有那些在上次完全備份或者增量備份后被修改的文件才會被備份。以上次完整備份或上次增量備份的時間為時間點,僅備份這之間的數據變化,因而備份的數據量小,占用空間小,備份速度快。但恢復時,需要從上一次的完整備份開始到***一次增量備份之間的所有增量一次恢復,如中間某次的備份數據損壞,將導致數據的丟失。
??二、常見的備份方法
??1)物理冷備份
??需要在數據庫關閉狀態下進行,能夠較好的保證數據庫的完整性。一般用于非核心業務,這類業務一般都允許終端,物理冷備份的特點就是速度快,恢復操作簡單。
??通常通過直接打包數據庫文件夾(如:/usr/local/mysql/data)來實現
??2)專用備份工具mysqldump或mysqlhotcopy
??mysqldump是客戶端常用邏輯備份程序,能夠產生一組被執行以再現原始數據庫對象定義和表數據的SQL語句。它可以轉儲一個到多個MySQL數據庫,對其進行備份或傳輸到遠程SQL服務器。Mysqldump更為通用,因為它可以備份各種表。
??Mysqlhotcopy是由Tim Bunce最初編寫和貢獻的Perl腳本。Mysqlhotcopy僅用于備份MyISAM和ARCHIVE表。它只能運行在UNIX或linux上,因為使用范圍很小,在這里就不細說了。
??3)通過啟用二進制日志進行增量備份
??MySQL支持增量備份,進行增量備份時必須啟用二進制日志。二進制日志文件為用戶提供復制,對執行備份點后進行的數據庫更改所需的信息進行恢復。如果進行增量備份,需要刷新二進制日志。
??4)通過第三方工具備份
??Percona XtraBackup是一個免費的MySQL熱備份軟件,支持在線熱備份Innodb和XtraDB,也可以支持MySQL表備份,不過MyISAM表的備份要在表鎖的情況進行。由于內容太多,這里就不詳細講解了,有興趣的話可以查閱該軟件的詳細介紹了解一下。
??三、MySQL的增量備份與恢復
??1.增量備份的概述
??1)增量恢復的特點
??與完全備份不同,增量備份沒有重復數據,備份量不大,時間短;但其恢復麻煩,需要上次完全備份及完全備份之后所有的增量備份才能恢復,而且要對所有增量備份進行逐個反推恢復,MySQL沒有提供直接的增量備份辦法,可以通過MySQL提供的二進制日志(binary logs)間接實現增量備份。
??2)MySQL二進制日志對備份的意義
??二進制日志保存了所有更新或者可能更新數據庫的操作。二進制日志在啟動MySQL服務器后開始記錄,并在文件達到二進制日志所設置的***值或者接收到flush logs命令后重新創建新的日志文件,生成二進制文件序列,并及時把這些日志保存到安全的存儲位置,即可完成一個時間段的增量備份。使用max_binlog_size配置項可以設置二進制日志文件的***值,如果二進制文件的大小超過了max_binlog_size,它就會自動創建新的二進制文件。
??要進行MySQL的增量備份,首先要開啟二進制日志功能,開啟MySQL的二進制日志功能的實現方法有很多種,最常用的是在MySQL配置文件的mysql項下加入"log-bin=/文件路徑/文件名"前綴,如log-bin=/usr/local/mysql/mysql-bin,然后重啟MySQL服務,就可以在指定路徑下查看二進制日志文件了。默認情況下,二進制日志文件的擴展名是一個六位的數字,如mysql-bin.000001。
??關于增量恢復的操作在這里總結的可能有點籠統,需要通過案例來了解,下個文檔我總結一個關于增量備份與恢復的案例我們一起來再詳細的了解一下。小伙伴們要想獲得更多mysql備份數據庫的內容,請關注新網!
聲明:免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發
送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。本站原創內容未經允許不得轉載,或轉載時
需注明出處:新網idc知識百科