bat脚本备份mysql数据库

    自己写的一个备份数据库的bat脚本,备份完以后,使用rar进行压缩,一共4个库,按年\日期时间\日期时间.xxx.sql 进行备份。在年目录下,打成一个日期时间的RaR压缩包。

    具体详情入下:

@echo off
echo.
echo.----------------------------------------------------------
echo.			MYSQL备份批处理
echo.
echo.       请将将本文件放在待备份的目录下,并修改相关配置
echo.     
echo.			 怒风兮出品!!
echo.-----------------------------------------------------------
echo.
echo.
:: 使用请先修改一下配置
:: MYSQL的BIN目录
set mysqldump=D:\mysql57\bin
:: 用户名
set username=#################################
:: 密码
set password=#################################
:: RAR路径
set rardir=C:\Program Files\WinRAR
:: 数据库
set database1=#################################
set database2=#################################
set database3=#################################
set database4=#################################

set datatime=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%
set "datatime=%datatime: =%" #替换空格

set basedir=%cd%\%date:~0,4%\%datatime%
md %basedir%

set backupname1=%database1%-%datatime%.sql
set backupname2=%database2%-%datatime%.sql
set backupname3=%database3%-%datatime%.sql
set backupname4=%database4%-%datatime%.sql

echo.%date%
echo.%time%
echo.MYSQL备份程序路径:%mysqldump%\mysqldump.exe
echo.
echo.用户名:%username%
echo.
echo.库1:%database1%  库2:%database2%  库3:%database3% 库4:%database4%
echo.备份路径1:%basedir%\%backupname1%
echo.备份路径2:%basedir%\%backupname2%  
echo.备份路径3:%basedir%\%backupname3%  
echo.备份路径4:%basedir%\%backupname4%  
pause

echo.
echo.正在执行备份操作...
cd /d %mysqldump%
mysqldump -u%username% -p%password% %database1% > %basedir%\%backupname1%
mysqldump -u%username% -p%password% %database2% > %basedir%\%backupname2%
mysqldump -u%username% -p%password% %database3% > %basedir%\%backupname3%
mysqldump -u%username% -p%password% %database4% > %basedir%\%backupname4%

echo.压缩并且删除当前备份文件
set path=%rardir%;%path%
cd  %basedir%
cd ..
rar a %datatime%.rar %datatime%
if exist %datatime% rd %datatime% /q /s
echo.命令完成
echo.
pause

    可以把这个脚本结合windows计划任务或者一些可以定时执行的程序进行操作。

 

备注1:账号管理

 mysqladmin -u root -p'旧密码' password '新密码'  //改密码,在命令行

 use mysql
 update user set host = ’%’ where user = ’root’;  //修改远程访问,在mysql命令行

grant all privileges on *.* to 'test'@'%'identified by '123456' with grant option;flush privileges ; //创建一个新用户并授权

备注2:mysqldump后的还原

mysql -u root -p123456 --default-character-set=utf8    use db1;   source d:/db1.sql;

你可能感兴趣的:(运维杂项)