⭐ 推荐:社区规则条款 V1.0

小皮面板怎么设置定时备份数据库?

周末
周末 正式会员超兽战士
发布于 2026-10-11 10:02 ·2 浏览 ·0 回复

学完这篇,你能在小皮面板里给 MySQL 数据库设置每天自动备份,并生成可恢复的 .sql 文件。

第一步:准备备份目录和批处理文件

这一步要创建一个固定目录存放备份文件,并写好执行 mysqldump 的批处理文件;做完后你会得到 D:\xp.cn\backup\mysql 目录和 backup_mysql.bat 脚本。

以小皮面板 Windows 版 v9.2.0 为例,MySQL 安装路径通常在:

D:\xp.cn\Extensions\MySQL8.0.12\bin\mysqldump.exe

如果路径不同,打开小皮面板左侧菜单【面板设置】→【安装目录】,或直接在资源管理器里搜索 mysqldump.exe。

新建文件:

D:\xp.cn\backup\backup_mysql.bat

内容示例:

@echo off
set "MYSQL_BIN=D:\xp.cn\Extensions\MySQL8.0.12\bin\mysqldump.exe"
set "DB_NAME=my_database"
set "BACKUP_DIR=D:\xp.cn\backup\mysql"

if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%"

"%MYSQL_BIN%" -u root -pYourPassword --default-character-set=utf8mb4 -B %DB_NAME% > "%BACKUP_DIR%\%DB_NAME%_%date:~0,4%%date:~5,2%%date:~8,2%.sql"

forfiles /P "%BACKUP_DIR%" /M *.sql /D -30 /C "cmd /c del @path"

把 my_database 改成你的数据库名,把 YourPassword 改成 MySQL 密码。

注意:路径尽量不用中文和空格,否则计划任务里可能执行失败。

第二步:手动运行一次脚本验证

这一步要确认备份命令能正常执行;做完后你会在备份目录看到当天生成的 .sql 文件。

双击运行:

D:\xp.cn\backup\backup_mysql.bat

然后打开:

D:\xp.cn\backup\mysql

检查是否生成类似:

my_database_20260817.sql

用记事本或 VS Code 打开,确认里面有:

CREATE TABLE
INSERT INTO

如果没有文件,优先检查 MySQL 是否启动、数据库名是否正确、密码是否正确。

第三步:在小皮面板添加计划任务

这一步要让小皮面板每天定时自动执行备份脚本;做完后你会得到一条每天运行的备份任务。

在小皮面板左侧菜单找到【计划任务】或【任务计划】,点击进入后选择【添加任务】/【新建任务】。

以 v9.2.0 为例,填写如下:

任务名称:mysql_backup
任务类型:命令 / 批处理 / Shell 脚本(Windows 版一般选择“命令”)
执行周期:每天
执行时间:02:30
任务内容:cmd /c D:\xp.cn\backup\backup_mysql.bat

如果面板有“运行账户”选项,选择 SYSTEM 或当前管理员账户。填写完成后点击【保存】,再点击任务右侧的【立即执行】或【运行】按钮测试。

注意:不同小版本按钮名称可能略有差异,但核心字段一定是:任务名称、执行周期、执行时间、任务内容、保存、立即执行。

第四步:配置备份保留策略

这一步要防止备份文件无限占用磁盘;做完后系统会自动删除超过保留天数的旧备份。

上面的脚本已经包含:

forfiles /P "%BACKUP_DIR%" /M *.sql /D -30 /C "cmd /c del @path"

意思是保留最近 30 天备份。

如果想保留 7 天,把 -30 改成 -7:

forfiles /P "%BACKUP_DIR%" /M *.sql /D -7 /C "cmd /c del @path"

注意:第一次测试时建议先把 -30 改成 -1,确认删除逻辑正常后再改回正式天数。

第五步:测试恢复备份

这一步要确认备份文件真的能恢复;做完后你可以放心使用定时备份。

如果数据库名和备份文件一致,可以直接导入:

"D:\xp.cn\Extensions\MySQL8.0.12\bin\mysql.exe" -u root -pYourPassword < "D:\xp.cn\backup\mysql\my_database_20260817.sql"

如果 mysqldump -B 生成的文件里已经包含 CREATE DATABASE 和 USE,也可以不指定数据库名,直接导入。

注意:生产环境不要把密码明文写在 .bat 里。更安全的做法是新建 mysql_backup.cnf:

[client]
user=root
password=YourPassword
default-character-set=utf8mb4

然后备份命令改为:

"%MYSQL_BIN%" --defaults-file="D:\xp.cn\backup\mysql_backup.cnf" -B %DB_NAME% > "%BACKUP_DIR%\%DB_NAME%_%date:~0,4%%date:~5,2%%date:~8,2%.sql"

小结

  1. 先确认 mysqldump.exe 路径、数据库名、备份目录。
  2. 写好 backup_mysql.bat,手动运行一次生成 .sql 文件。
  3. 在小皮面板【计划任务】→【添加任务】里设置每天执行该脚本。
  4. 用 forfiles 清理过期备份,避免磁盘写满。
  5. 生产环境尽量使用配置文件保存 MySQL 密码,不要明文写在脚本里。
版权声明:本文来自 GJ站长论坛《小皮面板怎么设置定时备份数据库?》
原文链接:https://www.gj0.com/thread-1627.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~