乐闻世界logo
搜索文章和话题

MariaDB 如何进行备份和恢复?有哪些备份策略和工具?

2月21日 15:51

MariaDB 的备份与恢复是保障数据安全的重要环节,以下是主要的备份和恢复方法:

1. 逻辑备份(mysqldump)

全量备份

bash
# 备份所有数据库 mysqldump -u root -p --all-databases > all_databases.sql # 备份指定数据库 mysqldump -u root -p database_name > database_name.sql # 备份指定表 mysqldump -u root -p database_name table_name > table_name.sql # 备份并压缩 mysqldump -u root -p database_name | gzip > database_name.sql.gz

增量备份

bash
# 启用二进制日志 # my.cnf 配置 log-bin = mysql-bin binlog-format = ROW # 备份二进制日志 mysqlbinlog mysql-bin.000001 > binlog_backup.sql

恢复数据

bash
# 恢复完整备份 mysql -u root -p < all_databases.sql # 恢复指定数据库 mysql -u root -p database_name < database_name.sql # 恢复压缩备份 gunzip < database_name.sql.gz | mysql -u root -p database_name # 应用二进制日志 mysqlbinlog mysql-bin.000001 | mysql -u root -p

2. 物理备份(Mariabackup)

全量备份

bash
# 创建备份 mariabackup --backup --target-dir=/backup/full \ --user=root --password=password # 准备备份 mariabackup --prepare --target-dir=/backup/full # 恢复备份 mariabackup --copy-back --target-dir=/backup/full

增量备份

bash
# 创建全量备份 mariabackup --backup --target-dir=/backup/full \ --user=root --password=password # 创建增量备份 mariabackup --backup --target-dir=/backup/inc1 \ --incremental-basedir=/backup/full --user=root --password=password # 准备备份 mariabackup --prepare --target-dir=/backup/full mariabackup --prepare --target-dir=/backup/full \ --incremental-dir=/backup/inc1

3. 快照备份

bash
# 使用 LVM 快照 lvcreate -L 10G -s -n mysql_snapshot /dev/vg0/mysql mount /dev/vg0/mysql_snapshot /mnt/backup rsync -av /mnt/backup/ /backup/mysql/ umount /mnt/backup lvremove /dev/vg0/mysql_snapshot

4. 自动化备份脚本

bash
#!/bin/bash # backup.sh DATE=$(date +%Y%m%d_%H%M%S) BACKUP_DIR="/backup/mariadb" MYSQL_USER="root" MYSQL_PASSWORD="password" # 创建备份目录 mkdir -p $BACKUP_DIR # 全量备份 mysqldump -u $MYSQL_USER -p$MYSQL_PASSWORD --all-databases \ --single-transaction --quick --lock-tables=false \ | gzip > $BACKUP_DIR/all_$DATE.sql.gz # 保留最近7天的备份 find $BACKUP_DIR -name "all_*.sql.gz" -mtime +7 -delete echo "Backup completed: all_$DATE.sql.gz"

5. 备份策略建议

  1. 全量备份:每天凌晨执行
  2. 增量备份:每小时执行
  3. 二进制日志:实时保留
  4. 异地备份:定期同步到远程服务器
  5. 备份验证:定期测试恢复流程

6. 恢复注意事项

  1. 恢复前先停止 MariaDB 服务
  2. 确保有足够的磁盘空间
  3. 恢复后验证数据完整性
  4. 记录恢复过程和时间点
  5. 在测试环境先验证恢复流程

通过合理的备份策略和恢复流程,可以最大程度保障 MariaDB 数据的安全性和可靠性。

标签:MariaDB