@echo off & setlocal ENABLEEXTENSIONS
:: ---------- 配置项 ----------
:: 备份放置的路径,加 \
set BACKUP_PATH=E:\Server_DB_Backup\
if not exist %BACKUP_PATH% (
mkdir %BACKUP_PATH%
)
:: 要备份的数据库名称,多个用空格分隔
set DATABASES=tdsdb quartzdb
:: MySQL 用户名
set USERNAME=root
:: MySQL 密码
set PASSWORD=root
:: MySQL Bin 目录,加 \
:: 如果可以直接使用 mysqldump(安装时添加 MySQL Bin 目录到了环境变量),此处留空即可
REM local path
SET MYSQL=%programfiles%\MySQL\MySQL Server 5.7\bin\
REM server path
REM SET MYSQL=D:\xampp\mysql\bin\
set ZIP=C:\Progra~1\7-Zip\7z.exe
SET SUXFIX=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%
set DIR=%BACKUP_PATH%%SUXFIX%\
:: create dir
if not exist %DIR% (
mkdir %DIR% 2>nul
)
if not exist %DIR% (
echo Backup path: %DIR% not exists, create dir failed.
goto exit
)
cd /d %DIR%
:: backup
echo Start dump databases...
for %%D in (%DATABASES%) do (
echo Dumping database %%D ...
"%MYSQL%mysqldump" -u%USERNAME% -p%PASSWORD% --default-character-set=UTF8 %%D> %%D.%SUXFIX%.sql
if exist %ZIP% (
%ZIP% a %%D.%SUXFIX%.7z %%D.%SUXFIX%.sql 2>nul
del /F /S /Q %%D.%SUXFIX%.sql 2>nul
)
)
echo Done
:exit
请注意字符集 --default-character-set=UTF8这样可以避免备份的中文是乱码