Windows 下 MySQL/MariaDB 免费自动备份方案全解

 

引言

在生产环境或个人项目中,数据库自动备份 是保障数据安全的关键步骤。MySQL/MariaDB 在 Windows Server 上广泛部署,但不像 Linux 那样有丰富的脚本与工具支持。因此,本文将系统梳理几种适合 Windows 环境的 免费数据库自动备份方案,并提供可直接使用的脚本与配置方法。


一、常见免费方案对比

方案 工具 优点 缺点 适用场景
mysqldump + 脚本 MySQL 自带 简单、免费、可压缩 大库导出慢、锁表 小型/中型数据库
MySQLBackupFTP GUI 工具 定时任务、云存储支持 免费版仅支持单库 中小型数据库,图形化需求
mariabackup MariaDB 工具 热备份、增量备份、速度快 配置稍复杂 大型数据库
HeidiSQL 伪自动备份 mysqldump + HeidiSQL 结合 GUI 使用方便 需手写脚本,非真正内置 开发者常用,轻量需求
VSS 快照 Windows 系统 快速物理备份整个目录 需停库或依赖 InnoDB 恢复 需要整个目录镜像的场景

二、mysqldump + 批处理脚本方案

这是最常见也最通用的方案。编写一个 .bat 脚本调用 mysqldump,再结合 Windows 任务计划定时执行。

示例脚本

@echo off
set MYSQL_USER=root
set MYSQL_PASSWORD=你的密码
set MYSQL_DATABASE=你的数据库名
set BACKUP_DIR=D:\mysql_backups

set DATETIME=%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%
set DATETIME=%DATETIME: =0%
set BACKUP_FILE=%BACKUP_DIR%\%MYSQL_DATABASE%_%DATETIME%.sql

if not exist %BACKUP_DIR% mkdir %BACKUP_DIR%

mysqldump -u%MYSQL_USER% -p%MYSQL_PASSWORD% %MYSQL_DATABASE% > "%BACKUP_FILE%"

:: 压缩 SQL 文件
powershell -command "Compress-Archive -Path '%BACKUP_FILE%' -DestinationPath '%BACKUP_FILE%.zip'"
del "%BACKUP_FILE%"

:: 保留最近 7 天
forfiles /p %BACKUP_DIR% /m *.zip /d -7 /c "cmd /c del @path"

配合 Windows 任务计划程序,即可每天定时执行。


三、MySQLBackupFTP(免费版)

这是 Windows 平台上非常流行的图形化备份工具,支持:

  • 定时任务

  • 压缩、加密

  • 上传到 FTP、Google Drive、Dropbox、OneDrive

免费版仅支持单数据库,但对中小型项目足够使用。
👉 官网地址


四、MariaBackup(mariabackup)

如果数据库规模较大,推荐使用 MariaBackup,它是 Percona XtraBackup 的开源替代品,并支持 Windows。

全量备份

mariabackup --backup --target-dir=D:\mariadb_backups\full --user=root --password=xxx

增量备份

mariabackup --backup --target-dir=D:\mariadb_backups\inc1 --incremental-basedir=D:\mariadb_backups\full --user=root --password=xxx

同样可以写入批处理脚本并用 Windows 任务计划调度,从而实现 全量 + 增量自动化备份


五、HeidiSQL 的伪自动备份

HeidiSQL 本身是一个图形化数据库管理工具,没有内置自动备份功能。但它依赖的 mysqldump 可以被脚本调用,从而实现“伪自动化”。

示例脚本

@echo off
set MYSQL_USER=root
set MYSQL_PASSWORD=你的密码
set MYSQL_DATABASE=你的数据库名
set BACKUP_DIR=D:\heidi_backups

set DATETIME=%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%
set DATETIME=%DATETIME: =0%
set BACKUP_FILE=%BACKUP_DIR%\%MYSQL_DATABASE%_%DATETIME%.sql

"C:\Program Files\MariaDB 10.11\bin\mysqldump.exe" -u%MYSQL_USER% -p%MYSQL_PASSWORD% %MYSQL_DATABASE% > "%BACKUP_FILE%"

结合任务计划,每天凌晨导出数据库,形成“伪自动备份”。


六、总结与推荐

在 Windows 环境下,免费 MySQL/MariaDB 自动备份主要依赖以下思路:

  • 小型数据库:mysqldump + 脚本(完全免费,简单高效)。

  • 中小型数据库:MySQLBackupFTP(GUI 工具,易用)。

  • 大型数据库:mariabackup(支持热备份和增量备份,企业级)。

  • 开发者常用:HeidiSQL 伪自动备份(利用 mysqldump 脚本化)。

如果你需要 轻量快速,建议用 mysqldump 脚本;如果你需要 企业级高可靠,推荐用 mariabackup


📌 最终建议
在 Windows Server 2022 上,如果你的数据库不算太大,直接用 mysqldump + Windows 任务计划 就够了;如果是企业生产环境,建议迁移到 Linux 下使用 XtraBackup 或 MariaBackup,会更安全稳定。

No comments

公司简介

 

自1996年以来,公司一直专注于域名注册、虚拟主机、服务器托管、网站建设、电子商务等互联网服务,不断践行"提供企业级解决方案,奉献个性化服务支持"的理念。作为戴尔"授权解决方案提供商",同时提供与公司服务相关联的硬件产品解决方案。
备案号: 豫ICP备05004936号-1

联系方式

地址:河南省郑州市经五路2号

电话:0371-63520088

QQ:76257322

网站:800188.com

电邮:该邮件地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。