mysql 在Windows下自动备份

1、一般备份方法主要为两种:

  • 直接保存数据库data文件夹
  • mysqldump 用sql命令备份(文件存放目录必须存在)

首先cmd进入MySQLin,然后mysqldump --default-character-set=utf8 --opt -h localhost -uroot -ppsd  database> D:db_bakdatabasedatabase_bak.sql

2、下面写个基于上面的原理的Windows自动备份

2.1建立一个bak.bat文件

@echo off 
goto start
rem 第一种方法
echo off net stop mysql rem xcopy D:AppServMySQLdatacddj*.* D: axi+%date:~0,10% /s/e rem 会自动建立目标文件夹 xcopy D:AppServMySQLdatacddj*.* D:db_bakcddj\%date:~0,4%%date:~5,2%%date:~8,2%" "%hh%%time:~3,2%%time:~6,2% /s/e net start mysql :start
rem 第二种方法
@echo off 
set hh
=%time:~0,2%
if %hh% LSS 10
(set hh=0%time:~1,1%)
set dst
=%date:~0,4%%date:~5,2%%date:~8,2%" "%hh%%time:~3,2%%time:~6,2%
rem 必须先建立目标文件夹
rem 进入mysql
bin目录
cd /d D:AppServMySQLin 
rem 空密码似乎得这么写才行
rem mysqldump
--default-character-set=utf8 --opt -h localhost -u root --password= db> D:db_bakdb\%dst%.sql
mysqldump
--default-character-set=utf8 --opt -h localhost -uroot -proot db>D:db_bakdb\%dst%.sql rem pause

2.2添加Windows任务管理计划

  • 2.2.1手动在任务管理计划程序添加基本任务
  • 2.2.2照上面写一个批处理文件plan.bat,内容如下
@echo off
:: ------- 配置项 -------
:: 要执行的文件名 上面bak.bat的位置
set FILE=D:bak.bat
:: 计划频率类型 
set FREQUENCY=DAILY
:: 频率,与上面的计划频率类型对应 
set MODIFIER=1
:: 该计划执行的时间(24 小时制) 
set DATETIME=06:30:00
:: 计划的名字 
set NAME="Backup cddj"
:: 计划执行用户,不建议修改 
set USER="System"
:: ------- 以下请勿修改 -------
schtasks /Create /RU %USER% /SC %FREQUENCY% /MO %MODIFIER% /ST %DATETIME% /TN %NAME% /TR %FILE% 

直接运行plan.bat即可

原文地址:https://www.cnblogs.com/w-y-f/p/3214250.html