mysql 备份 第三方工具_mysql系列-------使用第三方工具-percona来备份mysql和恢复

使用第三方工具来备份mysql-----percona

一、前期准备工作:

1、安装依赖包:yum -y install perl-Digest-MD5 perl-DBD-MySQL

rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm

2、安装主包: percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm

percona是一款在线热备工具

3、包含两个组件:

/usr/bin/xtrabackup :支持innodb和xtraDB(增量备份)

/usr/bin/innobackupex :支持innodb和myisam(只支持全备,不支持增量)

4、innobackupex 包含的一些选项

--user 用户名

--password 密码

--databases 库名

--no-timestamp 不使用系统日期做备份目录的子目录名

--apply-log 恢复日志

--copy-back 恢复数据

二、完全备份和完全恢复

1、完全备份

innobackupex --user root --password 123456 --database="mysql db66 performance sys"

--no-timestamp /allbak //指定备份三个数据库,生成的备份文件目录不用系统时间做目录名

2、恢复数据时,数据库目录为空,三个系统库必须备份进去

首先恢复日志:innobackupex --user root --password 123456 --apply-log /allbak

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很高兴回答你的问题。对于使用Percona XtraBackup工具来实现MySQL增量备份的脚本,您可以参考以下代码: #!/bin/bash # MySQL credentials user="username" password="password" host="localhost" db_name="database_name" # Backup directory backup_path="/path/to/backup/folder" # Timestamp (sortable AND readable) timestamp=$(date +%Y-%m-%d_%H-%M-%S) # Full backup file name full_backup_name="$db_name-$timestamp-full-backup.sql" # Incremental backup file name incremental_backup_name="$db_name-$timestamp-incremental-backup.sql" # Log file log_file="$backup_path/backup.log" # Number of days to keep daily backups backup_retention=7 # Create backup folder mkdir -p $backup_path # Remove backups older than retention period find $backup_path/* -mtime +$backup_retention -exec rm {} \; # Lock tables to get consistent backup mysql --user=$user --password=$password --host=$host --execute="FLUSH TABLES WITH READ LOCK;" # Full backup echo "Starting full backup..." xtrabackup --backup --user=$user --password=$password --host=$host --target-dir=$backup_path --no-lock --parallel=4 --extra-lsndir=$backup_path --backup-and-apply-log-only > $log_file 2>&1 echo "Full backup complete: $full_backup_name" # Unlock tables to restore normal operation mysql --user=$user --password=$password --host=$host --execute="UNLOCK TABLES;" # Sleep to ensure that next backup is incremental sleep 10 # Incremental backup echo "Starting incremental backup..." xtrabackup --backup --user=$user --password=$password --host=$host --target-dir=$backup_path --no-lock --parallel=4 --extra-lsndir=$backup_path --backup-and-apply-log-only --incremental-basedir=$backup_path > $log_file 2>&1 echo "Incremental backup complete: $incremental_backup_name" # Unlock tables to restore normal operation mysql --user=$user --password=$password --host=$host --execute="UNLOCK TABLES;" # Compress backups echo "Compressing backups..." gzip -9 $backup_path/*.sql echo "Compression complete." # Done! echo "All backups complete."

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值