本文作者:DurkBlue

windows下撰写数据库Mysql定时备份数据库脚本并删除指定日期以外的备份文件推荐

DurkBlue 07-30 720
windows下撰写数据库Mysql定时备份数据库脚本并删除指定日期以外的备份文件摘要:         在windows服务器上,想要定时备份数据库数据,可采用windows的任务计划程序...

        在windows服务器上,想要定时备份数据库数据,可采用windows的任务计划程序+数据库备份脚本组合。其中,MySQL数据库备份,起到关键作用是mysqldump。有关于mysqldump命令的用法,可以找MySQL的官方文档了解。

        脚本代码如下:


    

@echo off
echo 设置MySql数据库的连接信息
set host=127.0.0.1
set port=3306
set user=8888
set pass=8888
echo 设置要备份MySql数据库名称
set dbname=test
echo 获取当天的日期格式,例如:20250730171300
set hour=%time:~0,2%
if "%time:~0,1%"==" " set hour=0%time:~1,1%
set backup_date=%Date:~0,4%%Date:~5,2%%Date:~8,2%%hour%%Time:~3,2%%Time:~6,2%
echo 设置备份文件的路径
set backupfile=D:\durkblue\database_buckup%dbname%-%backup_date%.sql
echo 使用mysqldump对指定的MySql进行备份
echo 注意路径中有空格的要加上双引号
"D:\durkblue\waresoft\Mysql5.7.26\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%
echo 删除过期文件,这里是超过1天就删除
forfiles /p D:\durkblue\database_buckup /s /m *.sql /d -1 /c "cmd /c del @file /f"

再分享一份清空数据库某张表的bat脚本(mysql清空表数据)



@echo off
setlocal
 
:: 设置MySQL的路径(如果你的mysql.exe不在环境变量中)
set MYSQL_PATH=E:\phpstudy\Extensions\MySQL5.7.26\bin\
 
:: 设置数据库名
set DB_NAME=test
 
:: 设置要清空的表名
set TABLE_NAME=test
 
:: 设置MySQL的用户名和密码(注意:出于安全考虑,不建议在脚本中直接明文写密码)
set MYSQL_USER=test
set MYSQL_PASSWORD=test
 
:: 使用mysql命令执行TRUNCATE TABLE命令
"%MYSQL_PATH%mysql" -u%MYSQL_USER% -p%MYSQL_PASSWORD% -e "TRUNCATE TABLE %DB_NAME%.%TABLE_NAME%;"
 
echo Table truncated successfully.
 
endlocal



windows系统下,每天定时做mysql数据库备份

一.备份数据库命令 

格式化当前日期


set TIMESTAMP=%date:~0,4%%date:~5,2%%date:~8,2%

将现在的日期格式化为yyyyMMdd


备份mysql指定数据库


mysqldump -uroot -p123456 dbname > "E:\DBbackups\mydb_%TIMESTAMP%.sql"



 -uroot:root是用户名

 -p123456:123456是数据库密码

 dbname:数据库名称

 路径是备份文件存储的路径,需准备一个空的文件夹路径,文件名使用了上一句命令生成的时间,避免文件名重复

 可以在cmd中对备份命令进行测试,如果mysqldump提示“不是内部或外部命令“,则需要设置环境变量,在文章底部有方法。

 ps:mysqldump还提供了多种命令,备份多个数据库、所有数据库等等,可以在网上自己搜索

 

 清理备份文件


forfiles /p "E:\DBbackups" /m * /d -90 /c "cmd /c del @path"


p "E:\DBbackups":备份文件存储的路径,这个路径的文件夹中如果有其它文件夹,可能会导致删除失败

 90:最后修改日期超过90天

 /c "cmd /c del @path:删除文件

 

备份命令测试好后,将命令放到记事本

windows下撰写数据库Mysql定时备份数据库脚本并删除指定日期以外的备份文件  第1张

修改记事本后缀为.bat,bat文件是批处理文件,可以双击直接运行

这是我自己测试后,备份成功的sql文件

windows下撰写数据库Mysql定时备份数据库脚本并删除指定日期以外的备份文件  第2张



此篇文章由DurkBlue发布,撰文不易,转载请注明来处
文章投稿或转载声明

来源:DurkBlue版权归原作者所有,转载请保留出处。本站文章发布于 07-30
温馨提示:文章内容系作者个人观点,不代表DurkBlue博客对其观点赞同或支持。

赞(0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享