1. MySQL安装位置:D:\Program Files\MySQL\MySQL\MySQL Server 5.0
2. 数据库名称:mlsite
3. 数据库备份目的地:E:\db_backup\mlsite
*** 作原理:
1. 在MySQL的安装文件夹下,有data文件夹,data文件夹中存放数据库中的数据,这里以mlsite数据库为例,因此data文件夹下有mlsite这个文件夹,mlsite文件夹下是mlsite数据库的所有数据表的结构信息。在data文件夹下有一个idbata1这个文件是真正的数据文件。因此在备份时一定要对此文件进行备份。
2. 编写批处理文件,实现上面的文件备份工作。利用Windows 的任务计划功能定时启动批处理文件进行备份。
*** 作步骤:
1. 编写批处理文件dabak.bat,实现备份文件的拷贝功能。源程序见附件。
2. 选择开始->控制面板->任务计划……..请自己按说明 *** 作。
代码部分:
1. 源程序:[1、2、3、4、5是为了注释而用]
1)net stop mysql
2)mkdir E:\db_backup\mlsite\"%date:~4,10%"
3)xcopy D:\"Program Files"\MySQL\"MySQL Server 5.0"\data\ibdata1 E:\db_backup\mlsite\"%date:~4,10%"\/y
4)xcopy D:\"Program Files"\MySQL\"MySQL Server 5.0"\data\mlsite\*.* E:\db_backup\mlsite\"%date:~4,10%"\/y
5)net start mysql
特别说明,需要使用引号。
2. 解释:
1) 关闭Mysql服务
2) 创建备份目录
3) 拷贝ibadata1到备份目录下,注意Program Files上打了引号,是因为若不打引号会出现参数错误,原因是因为xcopy的参数是前面是源地址+空格+目标地址,如果不打引号,Program Files上有空格,会对这个命令产生影响
4) 拷贝mlsite其它文件到备份目录下
5) 开启mysql服务
xcopy e:\progra~1\mysql\mysqls~1\data\test\*.* f:\如果以progra 或是mysql s起头的目录超过1个,那么win下用dir/x可以看到他们的短文件名分别是什么。
另外dos只能用短名,不支持引号。win的命令台是支持引号的
你test目录下不会是空的吧,一个文件都没有就会报找不到文件 - *.*
复制了 0 个文件
可以用
xcopy e:\progra~1\mysql\mysqls~1\data\test f:\
注意test后面没有"\"
但没有文件的话仍然会报复制了 0 个文件
假想环境:MySQL 安装位置:C:\MySQL
数据库名称为:bbs
数据库备份目的地:d:\db_bak\
============================
新建db_bak.bat,写入以下代码
net stop mysql
xcopy c:\mysql\data\bbs\*.* d:\db_bak\bbs\%date:~0,3%\ /y
net start mysql
然后使用Windows的“计划任务”定时执行该批处理脚本即可。(例如:每天凌晨3点执行back_db.bat)
保存一周的数据,用%date:~0,3%,保存每天的数据,用%date:~4,10%
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)