数据库学习案例20240311 -mysql xtrabackup 备份与恢复

下载使用

Software Downloads - Percona

下载需要的依赖包

yum install perl-DBI -y

yum install perl-DBD-MySQL -y

yum install perl-Time-HiRes -y

yum install perl-IO-Socket-SSL -y

yum install perl-TermReadKey.x86_64 -y

下载安装配置完环境变量,然后做一个简单测试既可。

1 mysql数据库备份

以下为测试mysql数据库备份脚本,包括增量备份

bash 复制代码
xtrabackup --backup -uroot -p123 --target-dir=/backup/full
xtrabackup --backup -uroot -p123 --target-dir=/backup/incre1 --incremental-basedir=/backup/full
xtrabackup --backup -uroot -p123 --target-dir=/backup/incre2 --incremental-basedir=/backup/incre1
xtrabackup --backup -uroot -p123 --target-dir=/backup/incre3 --incremental-basedir=/backup/incre2
xtrabackup --backup -uroot -p123 --target-dir=/backup/incre4 --incremental-basedir=/backup/incre3

2 恢复数据库

bash 复制代码
xtrabackup --prepare --apply-log-only --target-dir=/backup/full
xtrabackup --prepare --apply-log-only --target-dir=/backup/full  --incremental-dir=/backup/incre1
xtrabackup --prepare --apply-log-only --target-dir=/backup/full  --incremental-dir=/backup/incre2
xtrabackup --prepare --apply-log-only --target-dir=/backup/full  --incremental-dir=/backup/incre3
xtrabackup --prepare --target-dir=/backup/full  --incremental-dir=/backup/incre4

3 拷贝回数据目录

bash 复制代码
xtrabackup --copy-back --target-dir=/backup/full



[root@router data]# ls -lrt
total 84000
-rw-r-----. 1 root root 16777216 Mar 11 05:02 undo_001
-rw-r-----. 1 root root 16777216 Mar 11 05:02 undo_002
drwxr-x---. 2 root root        6 Mar 11 05:02 #innodb_redo
-rw-r-----. 1 root root 12582912 Mar 11 05:02 ibdata1
-rw-r-----. 1 root root      353 Mar 11 05:02 router-bin.000068
-rw-r-----. 1 root root       18 Mar 11 05:02 router-bin.index
drwxr-x---. 2 root root       28 Mar 11 05:02 sys
drwxr-x---. 2 root root      243 Mar 11 05:02 mysql_innodb_cluster_metadata
drwxr-x---. 2 root root       80 Mar 11 05:02 mgr
-rw-r-----. 1 root root 27262976 Mar 11 05:02 mysql.ibd
drwxr-x---. 2 root root      143 Mar 11 05:02 mysql
drwxr-x---. 2 root root     8192 Mar 11 05:02 performance_schema
-rw-r-----. 1 root root     4362 Mar 11 05:02 ib_buffer_pool
-rw-r-----. 1 root root 12582912 Mar 11 05:02 ibtmp1
-rw-r-----. 1 root root      849 Mar 11 05:02 xtrabackup_info
[root@router data]# 

4 授权重启mysql

bash 复制代码
chown -R mysql:mysql /data/*

systemctl restart mysql.service

5 核心要点

1 需要有一个基础全备份,

bash 复制代码
[root@router full]# more xtrabackup_checkpoints
backup_type = full-backuped
from_lsn = 0
to_lsn = 25942086
last_lsn = 25942086
flushed_lsn = 25942086
redo_memory = 0
redo_frames = 0


[root@router incre1]# more xtrabackup_checkpoints
backup_type = incremental
from_lsn = 25942086
to_lsn = 25942096
last_lsn = 25942096
flushed_lsn = 25942096
redo_memory = 0
redo_frames = 0

[root@router incre2]# more xtrabackup_checkpoints
backup_type = incremental
from_lsn = 25942096
to_lsn = 25942612
last_lsn = 25942612
flushed_lsn = 25942612
redo_memory = 0
redo_frames = 0

2 使用incre恢复阶段会不断提高xtrabackup_checkpoints中的lsn值。

3 备份期间会给全库触发一个轻量级backup锁

相关推荐
鸽芷咕21 小时前
MySQL Server 鸿蒙 PC 适配全记录:以混合工具链完成 C++23 交叉编译与 HNP 交付
adb·harmonyos·c++23
游戏开发爱好者83 天前
网络连接排查指南,谁在电脑后台偷跑流量,哪些程序在联网
网络协议·计算机网络·网络安全·ios·adb·https·udp
实心儿儿3 天前
MySQL 的安装
数据库·mysql·adb
2601_962300474 天前
基于Python与Tkinter的ADB Monkey自动化测试脚本开发
python·adb·tkinter·android测试·gui自动化
flower_drop5 天前
基于 WebUSB 与 CDP:在浏览器端实现 Android 设备通信与无证书抓包实践
android·chrome·测试工具·adb·bug·edge浏览器
蜡台6 天前
# 已解决|MySQL 8\.4\.11 密码正确仍报错1045 \(28000\) Access denied 终极修复方案
android·mysql·adb
leoZ2316 天前
2026-09-08-mysql-57-init-walkthrough
前端·javascript·数据库·vue.js·opencv·mysql·adb
2501_915921436 天前
抓包工具对比:Charles、TraceEagle、Wireshark、Fiddler 与 Proxyman
网络协议·计算机网络·网络安全·ios·adb·https·udp
秋不溜啾6 天前
三星手机网络连接ADB和关闭自动更新
adb·安卓
没文化的阿浩7 天前
【MySQL】用户管理
android·mysql·adb