windows系统下Mysql备份操作脚本

复制下述代码生成一个bat文件,

@echo off
echo 将本程序文件与导入文件放到MySQL的bin目录执行导出的文件自动保存在bin目录下.
echo -------------------------------------------------------------
echo 请输入下列数字进行操作选择
echo 1-Root帐号的密码重置
echo 2-MySQL备份文件的导入
echo 3-MySQL备份文件的导出
echo 0-退出
echo -------------------------------------------------------------
echo.
:Action
@title 请选择操作符
set /p action=请输入数字序号:
if "%action%"=="" goto Action
if "%action%"=="1" goto ModPass
if "%action%"=="2" goto MysqlIn
if "%action%"=="3" goto MysqlOut
if "%action%"=="0" goto Exit
:Exit
exit

:ModPass
@title mysql的Root密码重置
:RecPwd
set /p pwd=请输入MySQL新密码:
if "%pwd%"=="" goto RecPwd
taskkill /f /im mysqld.exe
::taskkill /f /im mysql.exe
ping 127.1 -n 2 >nul
start /min mysqld --skip-grant-tables
ping 127.1 -n 1 >nul
echo use mysql;>tmp.txt
echo update user set password=PASSWORD("%pwd%") where user="root";>>tmp.txt
echo Flush privileges;>>tmp.txt
mysql -u root <tmp.txt
taskkill /f /im mysqld.exe
::taskkill /f /im mysql.exe
del tmp.txt
echo 密码重置成功,请手动开始mysql服务
echo.
goto Action

:MysqlIn
@title MySQL数据导入
:RecInBakFile
set /p inbakfile=请输入导入文件名称:
if "%inbakfile%"=="" goto RecInBakFile
:RecInDbName
set /p indbname=请输入MySQL数据库名称:
if "%indbname%"=="" goto RecInDbName
:RecInUser
set /p inuser=请输入MySQL数据库帐号:
if "%inuser%"=="" goto RecInUser
mysql -u %inuser% -p %indbname% < %inbakfile% --default-character-set=utf8
echo 数据导入成功
echo.
goto Action

:MysqlOut
@title MySQL数据导出
:RecOutBakFile
set /p outbakfile=请输入导出文件名称:
if "%outbakfile%"=="" goto RecOutBakFile
:RecOutDbName
set /p outdbname=请输入MySQL数据库名称:
if "%outdbname%"=="" goto RecOutDbName
:RecOutUser
set /p outuser=请输入MySQL数据库帐号:
if "%outuser%"=="" goto RecOutUser
echo --- >%outbakfile%
mysqldump -u %outuser% -p %outdbname% > %outbakfile% --default-character-set=utf8
echo 数据导出成功
echo.
goto Action