Percona XtraBackup8.0备份实例

embedded/2025/3/13 12:18:57/

Percona XtraBackup8.0备份实例

​ 此示例演示了初级 DBA 如何使用 Percona XtraBackup 8.0 和 Percona Server for MySQL 8.0 数据库服务器为大型组织设置每日完整备份和每小时增量备份。

一、实验环境

  • 您的系统上安装了 Percona XtraBackup 8.0。
  • 您有一个正在运行的 Percona Server for MySQL 8.0 数据库服务器。
  • 您已经创建了用于存储备份的专用目录:
    • /backups/mysql/full- 用于每日完整备份
    • /backups/mysql/incr- 用于每小时增量备份

二、每日完整备份脚本

以下脚本定义了服务器详细信息,如主机名、用户名、密码、数据目录和备份目录。将这些替换为您的实际值。

  • 定义服务器凭据
  • date使用命令为完整备份文件名生成时间戳
  • xtrabackup与标志一起使用--backup以进行完整备份
  • 指定存储备份的目录--target-dir
  • --datadir指向 MySQL 数据文件的位置。
  • 提供凭据以--user访问--password数据库服务器。
  • 回显确认备份成功完成的消息。
#!/bin/bash# 设置服务器详细信息(替换为您的实际值)
SERVER_HOST="your_server_hostname"
SERVER_USER="your_db_username"
SERVER_PASSWORD="your_db_password"
DATA_DIR="/var/lib/mysql"  # Replace with your data directory path
BACKUP_DIR="/backups/mysql/full"# 获取当前时间
TODAY=$(date +%Y-%m-%d)
FULL_BACKUP_FILENAME="${BACKUP_DIR}/${TODAY}"# 使用 full backup 命令运行 xtrabackup
xtrabackup --backup \--target-dir="${FULL_BACKUP_FILENAME}" \--datadir="${DATA_DIR}" \--user="${SERVER_USER}" \--password="${SERVER_PASSWORD}"echo "Daily full backup completed at $(date)"
  • 运行每日脚本

​ 您可以使用 cron 安排此脚本自动运行。例如,要每天午夜 (00:00) 运行它,请将以下行添加到您的 crontab:

 0 0 * * * /path/to/daily_full_backup.sh

三、每小时增量备份脚本

此脚本使用与每日脚本相同的服务器详细信息。它检索增量备份文件名的当前日期和时间。核心命令使用xtrabackup--backup标志--incremental进行增量备份。--target-dir指定存储增量备份的目录。指向使用和命令--base-dir获得的最新完整备份目录。这可确保增量备份引用最新的完整备份。与每日脚本类似,它会回显确认消息。ls``tail

#!/bin/bash# Set server details (same as daily script)
SERVER_HOST="your_server_hostname"
SERVER_USER="your_db_username"
SERVER_PASSWORD="your_db_password"
DATA_DIR="/var/lib/mysql"  # Replace with your data directory path
BACKUP_DIR="/backups/mysql/incr"# Get current date and hour for filename
TODAY=$(date +%Y-%m-%d)
HOUR=$(date +%H)  # Get current hour (00-23)
INCR_BACKUP_FILENAME="${BACKUP_DIR}/${TODAY}_${HOUR}"# Set the base directory for incremental backups (point to the latest full backup)
BASE_DIR="/backups/mysql/full/$(ls -tr /backups/mysql/full | tail -n 1)"# Run xtrabackup with incremental backup command
xtrabackup --backup \--incremental \--target-dir="${INCR_BACKUP_FILENAME}" \--base-dir="${BASE_DIR}" \--user="${SERVER_USER}" \--password="${SERVER_PASSWORD}"echo "Hourly incremental backup completed at $(date)"
  • 运行每小时脚本

​ 使用 cron 安排此脚本每小时运行一次。

0 * * * * /path/to/your/script.sh

http://www.ppmy.cn/embedded/172238.html

相关文章

FPGA 定点小数计算

1. 使用FPGA实现定点小数计算 FPGA中不适合做浮点数运算,但有时又会涉及到小数的运算,这时就需要用到Q格式数据。 2. Q格式 Q:如果想要表示一个小数,但FPGA里没法加小数点,那该如何表示小数呢? A:可以使用定点小数! 定点小数的小…

Ubuntu 系统上安装 NVIDIA CUDA 的详细步骤

以下是在 Ubuntu 系统上安装 NVIDIA CUDA 的详细步骤,分为 驱动安装 和 CUDA Toolkit 安装 两个部分: 一、准备工作 确认GPU型号支持CUDA 运行以下命令查看NVIDIA GPU型号:GeForce RTX 2080 Ti root@i-28e6iose:/home/ubuntu# lspci | grep -i nvidia 00:0c.0 VGA compatibl…

java核心内容笔记

Java 核心内容学习笔记 一、Java 环境配置 1. JDK 安装 下载地址:Oracle 官方网站安装步骤: 根据操作系统选择对应的安装包运行安装程序,选择安装路径配置环境变量 JAVA_HOME:指向JDK安装目录PATH:添加 %JAVA_HOME%…

【密码学——基础理论与应用】李子臣编著 第三章 分组密码 课后习题

免责声明 这里都是自己搓或者手写的。 里面不少题目感觉有问题或者我的理解有偏颇,请大佬批评指正! 不带思考抄作业的请自动退出,我的并非全对,仅仅提供思维! 题目 逐题解析 3.9 做这题需要有置换和错排的知识储备…

计算机网络:Socket编程 Tcp协议 第二弹

目录 1. Tcp协议接口 1.1 listen监听函数 1.2 accept函数 1.3 connect函数 1.4 inet_ntop函数 2. TcpEchoServer服务 2.1 Common.hpp 2.1 TcpServer.hpp 2.1.1 TcpServer类 2.1.2 InitServer函数 2.1.3 Start函数 2.1.4 HandlerRequest函数 2.3 TcpServer.cc 2.4…

10✨让笔迹突破语言壁垒!Manus AI 多语言识别开启智能书写新纪元

Manus AI在多语言手写识别领域的技术突破主要体现在以下四个方面,通过创新的技术架构和工程化实践解决了传统手写识别的核心痛点: 一、深度学习模型与算法优化 混合神经网络架构 Manus AI采用了**卷积神经网络(CNN)与长短…

【web前端开发】HTML排版标签、HTML语义化标签、常用的文本标签

1、HTML排版标签 标签名 标签含义 单/双标签 h1~h6 …

【VS】vs生成前事件,复制脚本文件至运行目录

​ 在项目目录中添加了一些配置文件,或者脚本文件,运行时需要把这些文件复制运行目录下,visual studio 中 可以设置生成事件,项目生成时自动复制文件到运行目录。 xcopy /Y “KaTeX parse error: Undefined control sequence: \c…