mysql xtrabackup 参数_MySQL Backup--Xtrabackup备份参数

Xtrabackup备份参数

参数选项:

innobackupex [--compress] [--compress-threads=NUMBER-OF-THREADS] [--compress-chunk-size=CHUNK-SIZE]

[--encrypt=ENCRYPTION-ALGORITHM] [--encrypt-threads=NUMBER-OF-THREADS] [--encrypt-chunk-size=CHUNK-SIZE]

[--encrypt-key=LITERAL-ENCRYPTION-KEY] | [--encryption-key-file=MY.KEY]

[--include=REGEXP] [--user=NAME]

[--password=WORD] [--port=PORT] [--socket=SOCKET]

[--no-timestamp] [--ibbackup=IBBACKUP-BINARY]

[--slave-info] [--galera-info] [--stream=tar|xbstream]

[--defaults-file=MY.CNF] [--defaults-group=GROUP-NAME]

[--databases=LIST] [--no-lock]

[--tmpdir=DIRECTORY] [--tables-file=FILE]

[--history=NAME]

[--incremental] [--incremental-basedir]

[--incremental-dir] [--incremental-force-scan] [--incremental-lsn]

[--incremental-history-name=NAME] [--incremental-history-uuid=UUID]

[--close-files] [--compact]

BACKUP-ROOT-DIR

innobackupex --apply-log [--use-memory=B]

[--defaults-file=MY.CNF]

[--export] [--redo-only] [--ibbackup=IBBACKUP-BINARY]

BACKUP-DIR

innobackupex --copy-back [--defaults-file=MY.CNF] [--defaults-group=GROUP-NAME] BACKUP-DIR

innobackupex --move-back [--defaults-file=MY.CNF] [--defaults-group=GROUP-NAME] BACKUP-DIR

innobackupex [--decompress] [--decrypt=ENCRYPTION-ALGORITHM]

[--encrypt-key=LITERAL-ENCRYPTION-KEY] | [--encryption-key-file=MY.KEY]

[--parallel=NUMBER-OF-FORKS] BACKUP-DIR

Xtrabackup备份常用参数

--apply-log

应用备份文件夹中名为xtrabackup_logfile的事务日志,并根据名为backup-my.cnf的配置文件来创建新的事务日志文件。

--redo-only

当需要增量还原时配合--apply-log参数使用,通过--redo-only来控制未提交事务不发生回滚,以便继续还原后续备份。(类似于SQL Server中的WITH NORECOVERY 选项)

--use-memory=1G

当使用--apply-log处理undo log时,通过参数--use-memory来控制恢复过程使用的内存大小。

--copy-back

Copy all the files in a previously made backup from the backup directory to their original locations.

--move-back

Move all the files in a previously made backup from the backup directory to the actual datadir location. Use with caution, as it removes backup files.

--no-timestamp

使用--no-timestamp选项来阻止命令自动创建一个以时间命名的目录,将会创建一个BACKUP-DIR目录来存储备份数据。

未指定--no-timestamp参数时,备份会创建一个以时间命名的目录,并将备份数据写入到该目录下。

--defaults-file=#

读取指定的my.cnf文件

Xtrabackup默认情况会去读my.cnf文件,读取顺序是/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf

--tmpdir=DIRECTORY

当有指定--remote-host or --stream时, 事务日志临时存储的目录, 默认采用 MySQL 配置文件中所指定的临时目录tmpdir

--parallel=4

用于指定在copy操作时的线程数

--throttle=N

用于指定每秒操作的IO次数(读+写),由于备份过程中每次操作的IO块为10MB。

–compress-threads

用于指定在压缩时的并发数

常用备份脚本:

##======================================================================##

## 进行完整备份

innobackupex --defaults-file="/export/servers/mysql/etc/my.cnf" \

--host="localhost" \

--port=3358 \

--user="backuper" \

--password="backup@123" \

--socket="/export/data/mysql/tmp/mysql.sock" \

"/export/mysql_backup/"

##======================================================================##

## 进行完整备份并压缩

innobackupex --defaults-file="/export/servers/mysql/etc/my.cnf" \

--host="localhost" \

--port=3358 \

--user="backuper" \

--password="backup@123" \

--socket="/export/data/mysql/tmp/mysql.sock" \

--stream=tar \

"/export/mysql_backup/" > "/export/data/mysql/dumps/full_backup.tar"

##======================================================================##

### 使用parallel参数来进行多线程备份

innobackupex --defaults-file="/export/servers/mysql/etc/my.cnf" \

--host="localhost" \

--port=3358 \

--user="backuper" \

--password="backup@123" \

--socket="/export/data/mysql/tmp/mysql.sock" \

--parallel=4 \

"/export/mysql_backup/"

##======================================================================##

## 对备份文件进行apply-log操作

innobackupex --defaults-file="/export/servers/mysql/etc/my.cnf" --apply-log /export/mysql_backup/2016-04-28_17-54-45

##======================================================================##

## 对备份文件进行copy-back操作

innobackupex --defaults-file="/export/servers/mysql/etc/my.cnf" --copy-back /export/mysql_backup/

参考资料:

http://blog.csdn.net/yongsheng0550/article/details/6682162

http://www.percona.com/docs/wiki/percona-xtrabackup:xtrabackup_manual

好的,我可以为您提供一个自动化增量备份MySQL8的脚本,但在运行脚本之前,您需要先安装xtrabackup工具。以下是脚本的内容: ``` #!/bin/bash # 设置备份相关的变量 MYSQL_USER="your_username" MYSQL_PASSWORD="your_password" BACKUP_DIR="/path/to/backup/directory" DATE=$(date +%F_%H-%M-%S) FULL_BACKUP_INTERVAL=7 # 满备份间隔(天) LAST_FULL_BACKUP=$(find $BACKUP_DIR -maxdepth 1 -name "full_backup*" | sort -nr | head -n 1) # 上一次的全量备份 INCREMENTAL_BACKUP_DIR="$BACKUP_DIR/incremental_backup_$DATE" LATEST_INCREMENTAL_BACKUP=$(find $BACKUP_DIR -maxdepth 1 -name "incremental_backup_*" | sort -nr | head -n 1) # 最新的增量备份 # 创建增量备份目录 mkdir -p $INCREMENTAL_BACKUP_DIR # 运行增量备份命令 if [ -z "$LAST_FULL_BACKUP" ]; then # 如果没有全量备份,则进行全量备份 xtrabackup --backup --user=$MYSQL_USER --password=$MYSQL_PASSWORD --target-dir=$INCREMENTAL_BACKUP_DIR else # 如果已有全量备份,则进行增量备份 xtrabackup --backup --user=$MYSQL_USER --password=$MYSQL_PASSWORD --target-dir=$INCREMENTAL_BACKUP_DIR --incremental-basedir=$LAST_FULL_BACKUP fi # 判断是否需要进行全量备份 if [ -z "$LAST_FULL_BACKUP" ] || [ $(expr $(date +%s) - $(date -d $(basename $LAST_FULL_BACKUP | cut -d '_' -f 3) +%s)) -ge $(expr $FULL_BACKUP_INTERVAL \* 86400) ]; then # 如果没有全量备份或者距离上次全量备份已经超过满备份间隔,则进行全量备份 FULL_BACKUP_DIR="$BACKUP_DIR/full_backup_$DATE" mkdir -p $FULL_BACKUP_DIR xtrabackup --backup --user=$MYSQL_USER --password=$MYSQL_PASSWORD --target-dir=$FULL_BACKUP_DIR fi # 删除过期的备份 find $BACKUP_DIR -maxdepth 1 -name "full_backup*" -mtime +$FULL_BACKUP_INTERVAL -exec rm -rf {} \; find $BACKUP_DIR -maxdepth 1 -name "incremental_backup_*" -mtime +$FULL_BACKUP_INTERVAL -exec rm -rf {} \; ``` 请将`your_username`和`your_password`替换为您的MySQL用户名和密码,将`/path/to/backup/directory`替换为您希望存储备份的目录。运行脚本时,将其保存为`.sh`文件并添加执行权限,然后在命令行中运行即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值