mysqldump单表增量备份
时间: 2023-11-28 16:45:30 浏览: 35
以下是使用mysqldump进行单表增量备份的步骤:
1.首先,创建一个名为backup.sh的脚本文件,并将以下代码添加到其中:
```shell
#!/bin/bash
# 定义变量
DB_USER=username
DB_PASS=password
DB_NAME=dbname
TABLE_NAME=tablename
BACKUP_DIR=/path/to/backup/directory
# 获取当前时间
NOW=$(date +"%Y-%m-%d-%H-%M-%S")
# 创建备份文件名
BACKUP_FILE=$BACKUP_DIR/$TABLE_NAME-$NOW.sql
# 创建增量备份文件名
INCREMENTAL_BACKUP_FILE=$BACKUP_DIR/$TABLE_NAME-incremental-$NOW.sql
# 创建增量备份目录
INCREMENTAL_BACKUP_DIR=$BACKUP_DIR/incremental
mkdir -p $INCREMENTAL_BACKUP_DIR
# 执行增量备份
/usr/bin/mysqldump --user=$DB_USER --password=$DB_PASS --single-transaction --skip-lock-tables --databases $DB_NAME $TABLE_NAME > $INCREMENTAL_BACKUP_FILE
# 将增量备份合并到完整备份中
/usr/bin/mysql --user=$DB_USER --password=$DB_PASS $DB_NAME < $INCREMENTAL_BACKUP_FILE
# 执行完整备份
/usr/bin/mysqldump --user=$DB_USER --password=$DB_PASS --databases $DB_NAME $TABLE_NAME > $BACKUP_FILE
# 删除增量备份文件
rm $INCREMENTAL_BACKUP_FILE
# 删除旧的增量备份文件
find $INCREMENTAL_BACKUP_DIR -type f -mtime +7 -delete
```
2.将脚本文件中的变量替换为您自己的数据库用户名,密码,数据库名称,表名和备份目录。
3.将脚本文件设置为可执行文件:
```shell
chmod +x backup.sh
```
4.运行脚本文件:
```shell
./backup.sh
```
这将创建一个完整的备份文件和一个增量备份文件,并将它们合并到一个完整的备份文件中。增量备份文件将被删除,而旧的增量备份文件将在7天后被删除。