
在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