用xtrabackup備份mysql資料庫的結果,只是資料,還是有insert語句

2022-02-13 19:20:35 字數 6348 閱讀 9845

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.出現 你的資料庫是否可以遠端授權 選擇可以,進入托管模式 除非你的空間不能授權,那就是跳入...