在生產環境中,數據的安全性是至關重要的,任何數據的丟失都可能產生嚴重的后果
造成數據丟失的原因:
程序錯誤
人為錯誤
計算機失敗
磁盤失敗
災難和偷竊
對數據庫操作系統的物理文件(如數據文件,日志文件等)的備份
冷備份:是在關閉數據庫的時候進行的
熱備份:數據庫處于運行狀態,這種備份方法依賴于數據庫的日志文件
對數據庫邏輯組件(如表等數據庫對象)的備份
完全備份:每次對數據進行完整的備份
差異備份:備份那些自從上次完全備份之后被修改過的文件
增量備份:只有那些在上次完全備份或者增量備份后被修改的文件才會被備份
完全備份是對整個數據庫的備份,數據結構和文件結構的備份
完全備份保存的是備份完成時刻的數據庫
完全備份是增量備份的基礎
備份與恢復操作簡單方便
數據存在大量的重復
占用大量的備份空間
備份與恢復時間長
直接打包數據庫文件夾,如/usr/local/mysql/data
使用專用備份工具mysqldump
MySQL自帶的備份工具,相當方便對MySQL進行備份
通過該命令工具可以將指定的庫,表和全部的庫到處為SQL腳本,在需要恢復時可進行數據恢復
mysqldump -u 用戶名 -p [密碼] [選項] [數據庫名] > /備份路徑/備份文件名
mysqldump -u root -p auth > /backup/auth.sql
mysqldump -u root -p mysql > /backup/mysql.sql
mysqldump -u 用戶名 -p [密碼] [選項] --database 庫名1 [庫名2]... > /備份路徑/備份文件名
mysqldump -u root -p --databases auth mysql > /back/databases-auth-mysql.sql
mysqldump -u 用戶名 -p [密碼] [選項] --all-databases > /備份路徑/備份文件名
mysqldump -u root -p --opt --all-databases > /backup/all-data.sql
mysqldump -u 用戶名 -p [密碼] [選項] 數據庫名 表名 > /備份路徑/備份文件名
mysqldump -u root -p mysql user > /backup/mysql-user.sql
source命令
mysql命令
登錄到MySQL數據庫
執行source備份sql腳本的路徑
MySQL [(none)]> source /backup/all-data.sql
mysql -u 用戶名 -p [密碼] < 庫備份腳本的路徑
mysql -u root -p < /backup/all-data.sql
mysql -u 用戶名 -p [密碼] < 表備份腳本的路徑
mysql -u root -p mysql < /backup/mysql-user.sql
完全備份加上日志,可以對MySQL進行最大化的還原
推薦使用庫名或者表名加上時間的命名規則
備份數據中有重復數據
備份時間與恢復時間長
沒有重復數據,備份量不大,時間短
恢復麻煩:需要上次完全備份及完全備份之后所有的增量備份才能恢復,而且要對所有增量備份進行逐個反推恢復
?二進制日志保存了所有更新或者可能更新數據庫的操作
二進制日志在啟動MySQL服務器后開始記錄,并在文件達到max_ binlog_size所設置的大小或者接收到flush logs命令后重新創建新的日志文件
只需定時執行flush logs方法重新創建新的日志,生成二進制文件序列,并及時把這些舊的日志保存到安全的地方就完成了一個時間段的增量備份讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:國際域名空間、網絡空間、營銷軟件、網站建設、棲霞網站維護、網站推廣。
就是將某個起始時間的二進制日志導入數據庫中,從而跳過某個發生錯誤的時間點實現數據的恢復
使用基于時間點的恢復,可能會出現在一個時間點里既同時存在正確的操作又存在錯誤的操作,所以我們需要一種更為精確的恢復方式
mysqlbinlog [--no-defaults]增量備份文件 | mysql -u用戶名 -p
mysqlbinlog --stop-position=操作'id' 1進制日志 | mysql -u用戶名 -p 密碼
mysqlbinlog --start-position=操作'id'二進制日志 | mysql -u用戶名 -p 密碼
mysqlbinlog [--no-defaults] --stop-datetime='年-月-日 小時:分鐘:秒'二進制日志 | mysql -u用戶名 -p 密碼
mysqlbinlog [--no defaults] --start-datetime='年-月-日 小時:分鐘:秒'二進制日志 | mysql -u用戶名 -p 密碼
mysqlbinlog [--no defaults] --start-datetime='年-月-日 小時:分鐘:秒' --stop-datetime='年-月-日 小時:分鐘:秒'二進制日志 | mysql -u用戶名 -p 密碼
mysqlbinlog --no-defaults --base64-output=decode-rows -V mysql-bin.000002 > /opt/ bak. txt
分享題目:MySQL——全量,增量備份與恢復(理論篇)
瀏覽路徑:http://m.newbst.com/article44/pjdeee.html
成都網站建設公司_創新互聯,為您提供外貿建站、網站內鏈、關鍵詞優化、自適應網站、外貿網站建設、企業網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯