MySQL 小技巧:使用 xtrabackup 2.4 实现 完全备份及还原

演示:使用 xtrabackup 2.4 实现 完全备份及还原

本案例基于 CentOS 7 Mariadb5.5 实现,也支持 MySQL5.5 和 MySQL5.7

1) 安装 xtrabackup 包
// 先安装 Mariadb5.5 和 xtrabackup 包
[root@centos7 ~] yum install mariadb-server -y
[root@centos7 ~] systemctl enable --now mariadb
[root@centos7 ~] yum -y install percona-xtrabackup-24-2.4.20-1.el7.x86_64.rpm

2) 在源主机做"完全备份" ( 备份到 /backup 目录 )
[root@centos7 ~] mkdir /backup
## 将源主机数据库数据完全备份至 /backup 目录    ( 注意修改数据库密码 )
[root@centos7 ~] xtrabackup -uroot -pP@ssw0rd --backup --target-dir=/backup/base
[root@centos7 ~] ll /backup/base    # 验证完全备份目录
[root@centos7 ~] cat /backup/base/xtrabackup_info
[root@centos7 ~] cat /backup/base/xtrabackup_checkpoints # 可以看出是完全备份 ( full-backuped )
backup_type = full-backuped
flushed_lsn = 1628418        # LSN 是 InnoDB 用来标记日志记录位置的数字, 它表示了数据修改的顺序. 每当有数据变更 (插入,更新或删除) 发生时, LSN 都会递增.

// 将 /backup 目录数据 "拷贝至远程主机"
## 目标主机无需创建 /backup 目录
[root@centos7 ~] scp -r /backup/ 目标主机:/
[root@centos7 ~] scp -r /backup/ 192.168.80.220:/
## 目标主机验证数据 ( 完成异机备份 )
[root@centos7 ~] ll /backup/base/

----
3) 在"目标主机还原"
3.1) 预准备: 确保备份数据的完整性和可用性 ( 提交完成的事务,回滚未完成的事务 )
[root@centos7 ~] yum install mariadb-server -y
[root@centos7 ~] yum -y install percona-xtrabackup-24-2.4.20-1.el7.x86_64.rpm
[root@centos7 ~] xtrabackup --prepare --target-dir=/backup/base    # 执行预准备操作
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 1628712
240203 17:05:58 completed OK!
    # 完成

3.2) "将备份的数据文件复制回原始位置"
// 注意: 数据库目录必须为空 ( 且 MySQL 服务不能启动 )
[root@centos7 ~] ll /var/lib/mysql         # 验证数据库目录
[root@centos7 ~] systemctl stop mariadb    # 关闭 MySQL 服务
[root@centos7 ~] xtrabackup --copy-back --target-dir=/backup/base
240203 17:09:48 [01]        ...done
240203 17:09:48 completed OK!
    # 完成
[root@centos7 ~] ll /var/lib/mysql         # 验证数据库目录 ( 有数据咯 )

3.3) 还原属性
[root@centos7 ~] chown -R mysql:mysql /var/lib/mysql

3.4) 启动服务
[root@centos7 ~] systemctl enable --now mariadb

3.5) 验证数据
[root@centos7 ~] mysql

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Toasten

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值