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 进入mysqlbin目录
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即可