0
点赞
收藏
分享

微信扫一扫

MySQL 数据库备份工具 mylvmbackup 使用示例


mylvmbackup 工具介绍

mylvmbackup 是一个专门用于 MySQL 数据库备份的工具,它结合了 LVM 快照MySQL 备份 的优点,可以在几乎不影响数据库性能的情况下创建一致的备份。

1. mylvmbackup 的核心特点

  • 基于 LVM 快照:利用 LVM 的写时复制(COW)机制,快速创建数据库的冻结副本。
  • 保证数据一致性:在创建快照前自动执行 FLUSH TABLES WITH READ LOCK,确保备份数据的一致性。
  • 支持压缩和加密:可结合 gzipbzip2openssl 进行压缩和加密。
  • 灵活存储:支持本地存储、远程备份(如 scprsync)或云存储(如 AWS S3)。
  • 自动清理旧备份:可配置保留策略,避免磁盘空间耗尽。

2. 安装 mylvmbackup

Debian/Ubuntu

sudo apt-get install mylvmbackup

RHEL/CentOS

sudo yum install mylvmbackup

从源码安装

wget https://github.com/mylvmbackup/mylvmbackup/archive/refs/tags/v0.16.tar.gz
tar -xzvf v0.16.tar.gz
cd mylvmbackup-0.16
perl Makefile.PL
make
sudo make install

3. 基本使用方法

(1) 基本备份

mylvmbackup --user=mysql_user --password=mysql_pass --lv=mysql_lv --vg=mysql_vg --backuptype=tar

  • --user:MySQL 用户名(需 RELOADLOCK TABLES 权限)
  • --password:MySQL 密码
  • --lv:MySQL 数据所在的逻辑卷(如 /dev/vg_mysql/lv_mysql
  • --vg:卷组名称
  • --backuptype:备份格式(targzipbzip2 等)

(2) 备份到远程服务器

mylvmbackup --user=root --password=123456 --lv=mysql_lv --vg=vg_data --backuptype=tar --scp=user@backup-server:/backup/mysql/

(3) 自动清理旧备份

mylvmbackup --user=root --password=123456 --lv=mysql_lv --vg=vg_data --backuptype=tar --keep=7

  • --keep=7:保留最近 7 天的备份,自动删除旧的。

4. 配置文件(/etc/mylvmbackup.conf)

可以预先配置默认选项,避免每次输入参数:

[defaults]
user = mysql_user
password = mysql_pass
host = localhost
lv = /dev/vg_mysql/lv_mysql
vg = vg_mysql
backuptype = tar
backupdir = /backup/mysql
keep = 5
scp = backup@remote-server:/mysql_backups/

5. 恢复备份

(1) 解压备份

tar -xvf /backup/mysql/mysql-backup-20231001.tar -C /tmp/mysql_restore

(2) 停止 MySQL

systemctl stop mysql

(3) 恢复数据

rsync -av /tmp/mysql_restore/ /var/lib/mysql/
chown -R mysql:mysql /var/lib/mysql

(4) 启动 MySQL

systemctl start mysql

6. 优缺点

✅ 优点

  • 几乎零停机:LVM 快照使备份过程极快,对生产影响小。
  • 数据一致性:自动锁定表,避免备份损坏。
  • 灵活存储:支持本地、远程和云存储。

❌ 缺点

  • 依赖 LVM:MySQL 数据必须存储在 LVM 逻辑卷上。
  • 快照空间管理:如果快照空间不足,可能导致备份失败。
  • 需要 ROOT 权限:因为涉及 LVM 操作。

7. 替代方案

工具

特点

Percona XtraBackup

物理备份,支持增量备份,无需 LVM

mysqldump

逻辑备份,适合小型数据库

MySQL Enterprise Backup

Oracle 官方工具,功能强大但收费

总结

mylvmbackup 是一个高效的 MySQL 备份工具,特别适合 大型数据库需要快速备份 的场景。它结合了 LVM 快照的速度MySQL 的数据一致性,是 DBA 工具箱中的一个实用选择。


举报

相关推荐

0 条评论