1樓:通銳新鮮事
備份的全部的資料,當然包括insert了
2樓:匿名使用者
厲害啊,我不知道,我也想知道
生產環境究竟是使用mysqldump還是xtrabackup來備份與恢復資料庫
如何利用xtrabackup備份mysql資料庫
3樓:愛可生雲資料庫
有時候我們需要獲取檔案的建立時間。
例如:我在研究 《xtrabackup 原理圖》的時候,想通過觀察確認 xtrabackup_log 是最早建立 並且是 最晚儲存的檔案。我們就需要知道 xtrabackup_logfile 這個檔案的建立時間戳和修改時間戳。
複習:linux關於檔案的三個時間戳
linux 的檔案系統儲存有三個時間戳,利用 stat 指令檢視檔案資訊可以獲取。他們分別是 atime、mtime 和 ctime
[root@192-168-199-198 backups]# stat 2.txt file: 『2.
txt』 size: 16 blocks: 8 io block:
4096 regular filedevice: 821h/2081d inode: 15 links:
1access: (0644/-rw-r--r--) uid: ( 0/ root) gid:
( 0/ root)access: 2019-07-23 12:12:
14.276981038 +0800modify: 2019-07-23 12:
12:41.415980158 +0800change:
2019-07-23 12:12:41.
415980158 +0800 birth: -
atime ——檔案的最近訪問時間
只要讀取檔案,atime 就會更新,對應的是 stat 命令獲取的 access 的值。
[root@192-168-199-198 backups]# cat 2.txt #<-- 讀取檔案121231233123123[root@192-168-199-198 backups]# stat 2.txt file:
『2.txt』 size: 16 blocks:
8 io block: 4096 regular filedevice: 821h/2081d inode:
15 links: 1access: (0644/-rw-r--r--) uid:
( 0/ root) gid: ( 0/ root)access: 2019-07-23 12:
22:09.644961733 +0800 #<-- 時間變化了modify:
2019-07-23 12:12:41.
415980158 +0800change: 2019-07-23 12:12:
41.415980158 +0800 birth: -
mtime ——檔案的內容最近修改的時間
當檔案進行被寫的時候,mtime 就會更新,對應的是 stat 命令獲取的 modify 的值。[root@192-168-199-198 backups]# echo hello_world > 2.txt #<-- 修改檔案內容[root@192-168-199-198 backups]# stat 2.
txt file: 『2.txt』 size:
12 blocks: 8 io block: 4096 regular filedevice:
821h/2081d inode: 15 links: 1access:
(0644/-rw-r--r--) uid: ( 0/ root) gid: ( 0/ root)access:
2019-07-23 12:22:09.
644961733 +0800modify: 2019-07-23 12:26:
23.466953503 +0800 #<-- 時間變化了change: 2019-07-23 12:
26:23.466953503 +0800 birth:
-這裡不要用vi修改檔案內容,因為用vi修改檔案內容有可能會引起inode變更,也就是你觀察的檔案並不是之前的檔案了!這個和vi的原理有關。
ctime ——檔案屬性最近修改的時間
當檔案的目錄被修改,或者檔案的所有者,許可權等被修改時,ctime 也就會更新,對應的是 stat 命令獲取的 change 的值。[root@192-168-199-198 backups]# chmod 777 2.txt #<-- 修改檔案屬性[root@192-168-199-198 backups]# stat 2.
txt file: 『2.txt』 size:
12 blocks: 8 io block: 4096 regular filedevice:
821h/2081d inode: 15 links: 1access:
(0777/-rwxrwxrwx) uid: ( 0/ root) gid: ( 0/ root)access:
2019-07-23 12:22:09.
644961733 +0800modify: 2019-07-23 12:26:
23.466953503 +0800change: 2019-07-23 12:
30:35.830945320 +0800 #<-- 時間變化了 birth:
-linux 無法獲取檔案建立時間?現在我們知道了linux有三種時間,atime、mtime 和 ctime,那麼很好奇為什麼沒有 crtime (建立時間) 呢?
請點選輸入**描述
對比 windows 系統 (上圖),windows 的 ntfs 檔案系統裡存在三個時間戳,其中就包含了「建立時間」,但在 linux 的設計哲學上沒有檔案「建立時間」這麼一說,所以早期版本的ext檔案系統不支援檔案「建立時間」。但從 ext4 版本開始,檔案建立時間儲存在ext4檔案系統的inode中,所以 ext4 檔案系統使用特殊方法也是可以獲取檔案的建立時間的。
也說明了,是否能獲取檔案的建立時間,和檔案系統是否支援有關。
linux 上獲取檔案建立時間的步驟
centos7 linux系統自帶一個工具,叫做 debugfs,他可以查出 ext4 檔案系統上的檔案的建立時間。man debugfs 發現工具的描述是 「ext2/ext3/ext4 file system debugger」,所以他是不支援 xfs 檔案系統的。
常用的 xfs 檔案系統是否支援獲取檔案建立時間,還有如何獲取,這個暫時不清楚,需讀者查閱官方文件
如何使用xtrabackup備份來恢復到已有mysql上
xtrabackup 會備份mysql資料庫嗎
4樓:匿名使用者
xtranbackup 內建外掛會備份mysql中不論是innodb還是myisam儲存引擎的表,全備+增備。與邏輯備份不同,屬於底層拷貝物理備份,備份與恢復速度要比自帶mysqldump快。
mysql備份的幾種常用
5樓:愛可生雲資料庫
資料備份是資料容災的最後一道防線,即便有著兩地三中心的架構,備份也依然重要。如果備份出問題,備份時影響了交易業務,備份資料無法恢復,這些也是企業難以承受的。所以選擇合適的備份工具尤為重要。
每個企業級資料庫都會有配套的備份工具,meb(mysql enterprise backup)就是mysql企業版中非常重要的工具之一,是為企業級客戶提供的資料備份方案。
xtrabackup一直作為meb 開源版備胎而存在,從mysql 8.0開始情況可能會變得有所不同。
在 mysql 8.0的backup lock、redo log archiving、page tracking等新特性的加持下,meb備份/恢復體驗會更好,目前xtrabackup還不支援這些特性。
mysql 企業版還有哪些功能?
特性1:backup lock
8.0之前使用xtrabackup或meb做物理備份,為了保證備份時innodb引擎表與其他引擎資料檔案、及binlog日誌的一致性會上全域性讀鎖,再拷貝非innodb檔案,這期間mysql會變成只讀,資料無法寫入。表數量越多,可能加上時間越長,如果使用的xtrabackup 不小心沒加rsync引數,逐個拷貝frm檔案,鎖定時間會更長,對業務影響較大。
我曾遇到過部署在虛擬機器的例項有12000多張表,當時使用的xtrabackup,備份指令碼中沒加rsync引數,結果鎖了十幾分鍾,而meb就沒有這樣的問題。
mysql 8.0支援輕量級備份鎖 lock instance for backup,資料字典也重構了由innodb儲存。若不建立非innodb表,meb預設使用備份鎖獲取binlog日誌一致性位置,並阻止ddl操作,但不影響dml操作。
只有innodb表,僅上備份鎖
請點選輸入**描述
若有非innodb表,上全域性鎖
請點選輸入**描述
特性2:redo log archiving
如果備份期間資料庫寫入負載特別大,而寫入ibbackup_logfile速度較慢,redo log size也不大,很可能會出現ibbackup_logfile的寫入速度跟不上redo log記錄生成速度,redo log 空間不夠時需要覆寫日誌檔案,那麼來不及寫入ibbackup_logfile的記錄會丟失,導致備份失敗。
meb 4.1對此做了優化,將redo log處理執行緒拆分成多執行緒分工合作,提高處理redo log的效率,降低了redo log覆寫造成備份失敗的概率,但redo log新增速度和ibbackup_logfile寫入速度懸殊太大,問題依然會發生。
mysql 8.0.17支援了redo log archiving 徹底解決了此問題,備份前設定innodb_redo_log_archive_dirs,指定redo log歸檔目錄。
meb備份時自動開啟日誌歸檔,當checkpoint時會將舊記錄歸檔到此目錄,後續從歸檔檔案中讀取redo日誌記錄,避免了覆寫可能導致的redo記錄丟失。
請點選輸入**描述
注意:innodb_redo_log_archive_dirs 不能在資料目錄下,目錄許可權要求是700
特性3:page tracking
page tracking 是為優化增量備份效率,減少不必要的資料頁掃描。
增量備份當前有3種掃描模式:
page-track:利用lsn精確跟蹤上次備份之後被修改頁面,僅複製這些頁面,效率最快。
optimistic:掃描上次備份之後被修改的innodb 資料檔案中,找出並拷貝修改的頁面。依賴系統時間,使用存在限制。
full-scan:掃描所有innodb資料檔案,找出並拷貝自上次備份之後修改的頁面,效率最慢
1、利用page-track增量備份,需先安裝備份元件
mysql> install component "file://component_mysqlbackup";
2、在全備前開啟page-track
select mysqlbackup_page_track_set(true);
3、全備之後,做增量備份時指定若滿足page tracking條件,預設會使用page-track模式,否則會使用full-scan模式,也可以指定--incremental=page-track。
mysqlbackup --incremental-backup-dir=backup_incr --trace=3 --incremental=page-track --incremental-base=history:last_full_backup backup
incremental-base有3種選擇
last_backup:基於前一次備份做增備,前一次備份可能是增備,也可能是全備。這種方式全備之間可能會有多個增備,每次增量可能比較小,但恢復時需要逐個合併。
last_full_backup:基於前一次全備做增備。這種方式增備會越往後體積可能越大,但恢復時只需要合併最後一次增量備份。
dir:基於前一次的備份目錄,前一次備份可能是增備,也可能是全備。
測試對比full-scan 和page-track ,在變更頁小於總體50%的情況下 ,備份效率至少能有1倍的速度提升。
page-track 模式 磁碟讀寫均衡,說明讀寫的都是修改頁面。
請點選輸入**描述
full-scan模式 磁碟讀寫差別很大,說明讀了很多未修改的頁面。
請點選輸入**描述
手機電腦備份軟體,安卓手機備份到電腦上用什麼軟體
手機上可以安裝qq同步助手,可以備份 簿 應用程式 如果誤刪可以一鍵恢復。平時用的最多的360衛士就有資訊備份。imazing 以自己的方式管理 iphone 安卓手機備份到電腦上用什麼軟體 1.icloud icloud是蘋果公司提供的雲端服務,使用者有5gb的免費儲存空間,可以備份蘋果手機中的 ...
我的iphone用icloud備份的時候!總是顯示「正在估算
你的icloud 可用容量沒有的緣故吧。icloud免費5g,但這個5g的容量會很快用完的,用完了後就無法更新了,必須購買或刪除原來無用的東西,騰出空間做備份。因為這個備份是上傳到伺服器的,你的備份比較大的話,上傳自然是很慢的,會根據網速計算出上傳所需的時間.建議晚上插著充電器,連線wifi,會自動...
oracle資料庫備份用什麼軟體
oracle 自帶的 exp命令非常好用,你去稍微學習一下。你可以考慮下第三方產品進行備份 拿多備份來說,操作就比較簡單,備份和恢復都是一鍵式的 1.登入官網 註冊之後進入控制面板 選擇開始 選擇資料庫備份2.出現 你的資料庫是否可以遠端授權 選擇可以,進入托管模式 除非你的空間不能授權,那就是跳入...