跳到主內容

MariaDB-Backup 在線備份服務

  因公司的服務是 24 小時運行在備份資料庫的時候希望別影響到線上的服務,剛好之前公司有用 xtrabackup 來執行備份服務,但在 MariaDB 在 10 之後已無法使用, MariaDB 有分支 xtrabackup 服務另外自己在做維護使用,那本記篇會記錄一下基本操作

運行環境


  環境都是在 「Proxmox VE 」 虛擬系統上架設,都是以 「 LXC 」模式為主,除非有特殊狀況會告知使用 「 VM 」 模式

  • 系統環境: Debian 12
  • 資料庫服務: MariaDB 11.4

安裝過程


  • 先安裝官方所使用的套件
apt install mariadb-backup -y
  • 可以先建立一個 vim .my.cnf 來設定連線資訊
[client]
# 登入帳號
user=backup_user
# 登入密碼
password='password'
# 連線位置
host=127.0.0.1
# 連線 Port
port=3306
  • 完整備份
mariadb-backup --defaults-file=/xx/.my.cnf --backup --prepare --target-dir=/xxx/fuill
  • 差異備份,要先確認是否有完整的備份
mariadb-backup --defaults-file=/xx/.my.cnf --backup --prepare --target-dir=/xxx/fuill --incremental-basedir=/xxx/diff
  • 還原資料之前要先停止資料庫服務
systemctl stop mariadb
  • 完整還原,您要先確認有關於 my.cnf 的位置,系統會依據此設定檔做資料還原
mariadb-backup --defaults-file=/xxx/my.cnf --copy-back --target-dir=/xxx/full
  • 差異還原,要先讀一次完整備份後,然後再把差異的備份進行做合拼
# 先讀一次完整備份
mariadb-backup --prepare --use-memory=4G --target-dir=/xxx/full
# 再跟差異做合拼
mariadb-backup --prepare --use-memory=4G --target-dir=/xxxx/full --incremental-dir=/xxxx/diff
  • 執行還原
mariadb-backup --defaults-file=/xxx/my.cnf --copy-back --target-dir=/xxx/full
  • 還原完後需設定該目錄權限
chown -R mysql: /xxx/mysql
  • 啟動服務
systemctl start mariadb

補充說明


備註





參考相關網頁