说明:
- mysql环境是windows,俗话说也就是window安装的本地mysql
- 环境变量有配置
- 使用.bat文件将指定数据库进行备份
- Linux上的备份操作待补充
- 如果是mariadb,那么操作也是一样的
bat文件:
创建个文件:mysql数据库备份压缩.bat
运行方法:
- 方式一:双击运行
- 方式二:使用cmd窗口或者PowerShell窗口运行(推荐,好调试)
如图:
内容:
:: 备用参数
:: 休眠5s:choice /T 5 /C ync /CS /D y /n
:: 等待输入pause
@echo off
:: 准备存放的备份文件的文件夹,如果没有下面有判断会自行创建
set mBackPath=D:\dbBack
set mYear=%date:~0,4%
set mMonth=%date:~5,2%
set mDay=%date:~8,2%
set mHour=%time:~0,2%
set mHour=%mHour: =0%
set mMinutes=%time:~3,2%
set mSeconds=%time:~6,2%
set mYMDPath=%mYear%-%mMonth%-%mDay%
:: 文件夹名称
:: 如果有生产或者开发(prod/dev)的数据库那就文件夹多建一个
:: 例如备份生产环境的数据库,通常我们自己本地的数据库是没有区分啥开发或者生产的
:: set mProdmDay=%mYMDPath%\00_prod
set mDevmDay=%mYMDPath%\01_dev
set mFulldate=%mYear%%mMonth%%mDay%-%mHour%
:: set mFulldate=%mYear%%mMonth%%mDay%-%mHour%%mMinutes%%mSeconds%
:: 如果不存在,则创建文件夹
if not exist %mBackPath% (
mkdir %mBackPath%
)
:: bat可以多层级创建,不需要对mYMDPath创建文件夹
if not exist %mBackPath%\%mDevmDay% (
mkdir %mBackPath%\%mDevmDay%
)
if not exist %mBackPath%\%mProdmDay% (
mkdir %mBackPath%\%mProdmDay%
)
:: mysql安装的位置
cd D:\software\mysql\mysql-8.0.24\bin
:: 数据库名称
set dbName=test01
:: 使用mysqldump.exe进行备份
mysqldump --extended-insert --default-character-set=utf8 --host=127.0.0.1 --user=root --password=root --databases %dbName%> %mBackPath%\%mDevmDay%\%dbName%%mFulldate%.sql
::压缩,小编采用7zip,其他压缩软件也是可以的
cd D:
D:/software\7-Zip\7z.exe a %mYMDPath%.7z D:/dbBack/%mYMDPath%/**
::删除文件夹-(没有压缩的文件)
rd D:\dbBack\%mYMDPath% /s /q
效果图: