標籤:
1 @echo off 2 rem MySQL備份指令碼 支援全備份 3 rem 增量備份需要MySQL服務加--log-bin參數執行 4 rem 資料還原 mysql -u root -p < backup.sql 5 rem ===================== 6 rem 全域變數 7 set dump=mysqldump.exe 8 set rand=%random% 9 rem =====================10 11 rem 檢測MySQL路徑是否添加到PATH變數12 echo ===========================================13 echo "資料還原命令: mysql -u root -p < backup.sql"14 echo ===========================================15 echo.16 echo 檢測 MySQL 是否添加到環境變數...17 echo %PATH% | findstr MySQL > nul18 19 if %ERRORLEVEL% EQU 0 goto dobackup20 if %ERRORLEVEL% EQU 1 goto notinpath21 22 :dobackup23 echo.24 echo ==備份選項==25 set /p uname=輸入使用者名稱:26 echo.27 echo 是否備份所有資料庫?28 choice29 if %ERRORLEVEL% EQU 1 goto backupalldb30 if %ERRORLEVEL% EQU 2 goto backupspecialdb31 pause32 exit33 34 :backupalldb35 echo.36 echo 備份所有資料庫37 %dump% -u root -p --all-databases > backup_%DATE%_%rand%.sql38 echo.39 if %ERRORLEVEL% EQU 2 (del backup_%DATE%_%rand%.sql && goto pwderror)40 echo 備份完成,備份檔案為 backup_%DATE%_%rand%.sql41 pause42 exit43 44 :backupspecialdb45 echo.46 echo 備份指定資料庫47 set /p db=輸入資料庫名稱:48 %dump% -u root -p %db% > "%db%_%DATE%_%rand%".sql49 echo.50 if %ERRORLEVEL% EQU 2 (del %db%_%DATE%_%rand%.sql && goto pwderror)51 echo 備份完成,備份檔案為 %db%_%DATE%_%rand%.sql52 pause53 exit54 55 :pwderror56 echo.57 echo ***密碼錯誤!58 echo.59 echo 任意鍵退出程式60 pause>nul61 exit62 63 :notinpath64 echo **MySQL路徑不在環境變數中65 echo.66 echo 檢測當前工作路徑...67 dir | findstr %dump% > nul68 if %ERRORLEVEL% EQU 0 goto dobackup69 if %ERRORLEVEL% EQU 1 goto notinbindir70 pause71 exit72 73 :notinbindir74 echo **當前路徑不包含 %dump%75 echo.76 echo 請把MySQL路徑添加到環境變數,或將該指令碼複製到MySQL/bin 檔案夾下77 echo.78 echo 任意鍵退出程式79 pause>nul80 exit
()
Windows下MySQL備份指令碼