自动备份mysql数据库

最近项目上线后,有些数据丢失没有找回来。经过讨论后,决定加一个服务器数据库自动备份的功能。

通用实现步骤

整个过程可以概括为三步:

  1. 编写备份脚本:创建一个包含备份命令的脚本文件(.bat 批处理)。
  2. 测试脚本:手动运行脚本,确保它能成功生成备份文件。
  3. 配置任务计划程序:设置 Windows 任务计划程序,让它在指定时间自动执行这个脚本。

针对 MySQL 的详细配置

shell 复制代码
1. 编写备份脚本 (backup_mysql.bat)
创建一个文本文件,将后缀名改为 .bat,写入以下内容:
@echo off
:: 设置数据库连接信息
set host=127.0.0.1
set username=root
set password=你的密码
set db_name=你的数据库名

:: 设置备份存放路径
set backup_path=C:\db_backup\

:: 生成带时间戳的文件名,例如:你的数据库名_20231027_030001.sql
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_path%%db_name%_%datetime%.sql

:: 执行备份 (注意 mysqldump 的路径可能需要根据你的安装位置调整)
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe" -u%username% -p%password% -h%host% %db_name% > %backup_file%

:: (可选) 使用 7-Zip 压缩备份文件,需要先安装 7-Zip
:: "C:\Program Files\7-Zip\7z.exe" a %backup_file%.zip %backup_file%
:: del %backup_file%

:: (可选) 删除 7 天前的旧备份文件
forfiles /p %backup_path% /s /m *.sql /d -7 /c "cmd /c del @path"

echo Backup completed: %backup_file%
  1. 测试脚本
    在命令行中直接运行这个 .bat 文件,检查指定的备份目录下是否生成了 .sql 文件。
  2. 设置任务计划程序
  3. 在服务器上按下 Win + R 键,输入 taskschd.msc 并回车,打开"任务计划程序"。
  4. 在右侧操作栏中,点击"创建基本任务..."。
  5. 名称:输入一个便于识别的名称,如 "Daily MySQL Backup"。
  6. 触发器:选择"每天",并设置一个业务低峰期的时间,例如凌晨 2:00。
  7. 操作:选择"启动程序",在"程序或脚本"框中,点击浏览选择你刚刚创建的 backup_mysql.bat 文件。
  8. 点击"完成"即可。
    高级设置:创建完成后,你可以在任务列表中找到它,右键点击"属性"进行更精细的配置,例如:
    ● 勾选"不管用户是否登录都要运行"。
    ● 勾选"使用最高权限运行"
相关推荐
IMPYLH1 小时前
HTML 的 <option> 元素
服务器·数据库·html
破芽1 小时前
mysql常用命令查询
数据库·sql·mysql
数字新视界1 小时前
动环智能监控全面提升机房管理与安全效率
数据库·物联网·数据中心·数据中心基础设施管理·dcim管理系统
程序员-Benothing1 小时前
MySQL 中的 Log Buffer 是什么?它有什么作用?
数据库·mysql·面试
2601_962056234 小时前
易信easyMarkets:澄清诈骗疑问时更应关注官方出金流程
mysql
上学的小垃圾9 小时前
基于docker安装MySQL(openEuler系统)
linux·mysql·docker·容器
倔强的石头_11 小时前
连接数失控排查:从数据库会话、应用线程池到连接池泄漏
数据库
hzxpaipai12 小时前
企业官网技术架构拆解:前端、后台、数据库、服务器如何协同
前端·数据库·架构
爱吃火鸡面呀12 小时前
MySQL DQL 子查询详解:从标量、列、行到表子查询的完整实战
大数据·数据库·mysql