mysql数据库备份(bat)总结

 

方法一、mysqldump备份成sql文件

脚本

-----------------start-------------------

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"  

md "D:/mysqldb_bakup/%ymd%"  

 

"C:\Progra~1\MySQL\MySQL Server 5.0\bin\mysqldump" -

h192.168.1.1 -uroot -p12345 pawndb_branch1>

D:/mysqldb_bakup/%Ymd%/pawndb_branch1.sql  

 

echo.

echo MySQL数据库备份完成,请检查....

net server stop

ping -n 5 127.1>nul

net server start

-----------------end---------------------

解释:

1setbat 命令中设置变量的,通过%达特%系统变量得到日期

%date:~,4% 表示取日期的前面四个字符也就是年;同理%

date:~5,2%表示取日期第五个字符开始的第二个字符,也就是月份

%date:~8,2%就是多少号。

例如:2012-12-26  结果就是20121226

2md就是建立一个文件夹名称为20121226

3、开始数据库备份,"mysqldunm所在路径 -h hostname(IP) -u

username(用户名) -p password(密码) dbname(数据库名) " >要备份

的文件路径

(注意:这里 C:\Program File中间的空格,bat会报找不到路径,所

以用 C:\Progra~1代替。原因我也不清楚,可能是它的一种规定

)

到此就完成了MySQL数据库的备份。

 

enoch就是在窗口上打印,应该和程序中的system.out.println()作用是一样滴。

 最后面

---------------

net server stop

ping -n 5 127.1>nul

net server start

-----------------------

这段代码,是使bat暂停5秒再运行,不然bat运行太快就关闭,看不

到报的错,也就不好调试了。

 

 

 

方法二、二进制日志备份(不太明白,也不知道说的对不对,有什么不对的希望大家指正)

脚本

-------------------start----------

net stop mysql

Xcopy "C:\Progra~1\MySQL\MySQL Server 5.0\data\test\*.*"

D:\db_bakup\test\%date:~0,3%\ /y 

net start mysql

------------------end-----------------

用日志进行备份时首先要配置my.ini文件添加log-bin=D:/Program

Files/mysqlLog(名字随便写),这个也就是最后生成日志文件路径,

 

每运行一次都会生成一个这样的文件,index文件是索引文件,不太懂,用这些日志文件貌似就可以恢复数据了。

就说到这吧,说多了怕误导了大家。

mysqlhotcopy只适合MyISAM表,对于InnoDB没作用。

 

 

本人菜鸟一枚,水平和表达能力有限,应群主要求,整理个文档,希望对大家有所帮助,有不对的地方还请大家多多包涵,多多指正。在此期间,群主给了我很大的帮助,在这里致以衷心的感谢!哈哈!!丁灵很热情,懂的也特多!拜师了!!

 

 

 

MySQL定时备份

 

方法一、写一个bat文件然后手动添加到计算机的任务计划中

例:

 

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"  

md "D:/mysqldb_bakup/%ymd%"

"D:\mysql-5.1.67-win32\bin\mysqldump" -hhostname -uusername -ppassword dbname> D:/ bakup/%Ymd%/filename.sql  (要备份的路径和文件名称)

echo.

echo MySQL数据库备份完成,请检查....

把这个文件命名为bakup.bat

然后添加到任务计划中

开始所有程序附件系统工具任务计划双击<添加任务计划>

会看到

这个点击

 

下一步然后点击浏览

根据自己的需要选择实行时间设置执行时间,一般建议在凌晨执行,

这个要特别注意,不输入密码,计划任务可能不会执行

点击完成就会在这里看到了。到这里就完成了定时执行任务。

 

方法二、在bat命令中定时执行bat命令,也就是自动添加到任务计划中

 

 

首先也需要 bakup.bat文件,还需要一个 task.bat

@echo off

sc config schedule start= auto

net start "Task Scheduler"

at 16:56 /every:M,T,W,Th,F,S,Su  D:\mysql-5.1.67-win32\bin\bakup.bat

echo. & pause

 

执行一下task.bat就自动把bakup.bat添加到任务计划了,是不是很方便。

 

下面说一下需要注意的问题:

1这个路径要写绝对路径,如果写相对路径可能会找不到这个bat文件而不能执行。

2every:M,T,W,Th,F,S,Su就是在每周的周一……到周日的1656自动执行,根据自己的需求设定。

3、网上查资料,有的说需要这样写

at 16:56 /interactive/every:M,T,W,Th,F,S,Su  D:\mysql-5.1.67-win32\bin\bakup.bat

 

interactive说是要实时交互的,不然没法执行,我试了,不添加也可以执行;添加的话也可以执行,但是执行一次之后自动把bakup.bat从任务计划中删除了,也就是说every:M,T,W,Th,F,S,Su失效了,我测试是这样的,如果有不对的,还请大家指正。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值