mysql数据库备份(bat)总结
2013-01-04 14:31
183 查看
方法一、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---------------------
解释:
1、set是bat
命令中设置变量的,通过%达特%系统变量得到日期
,%date:~,4%
表示取日期的前面四个字符也就是年;同理%
date:~5,2%表示取日期第五个字符开始的第二个字符,也就是月份
;%date:~8,2%就是多少号。
例如:2012-12-26
结果就是20121226
2、md就是建立一个文件夹名称为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文件而不能执行。
2、every:M,T,W,Th,F,S,Su就是在每周的周一……到周日的16:56自动执行,根据自己的需求设定。
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失效了,我测试是这样的,如果有不对的,还请大家指正。
脚本
-----------------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---------------------
解释:
1、set是bat
命令中设置变量的,通过%达特%系统变量得到日期
,%date:~,4%
表示取日期的前面四个字符也就是年;同理%
date:~5,2%表示取日期第五个字符开始的第二个字符,也就是月份
;%date:~8,2%就是多少号。
例如:2012-12-26
结果就是20121226
2、md就是建立一个文件夹名称为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文件而不能执行。
2、every:M,T,W,Th,F,S,Su就是在每周的周一……到周日的16:56自动执行,根据自己的需求设定。
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失效了,我测试是这样的,如果有不对的,还请大家指正。
相关文章推荐
- 批处理命令 BAT备份MySQL数据库
- Mysql学习总结(44)——Linux下如何实现mysql数据库每天自动备份定时备份
- 批处理备份MySQL数据库(.bat文件)
- mysql数据库备份(sqlbak.bat)文件
- bat 备份mysql数据库, 并把备份后的文件发送到指定的FTP和邮箱(windows2003)
- 批处理命令 BAT备份MySQL数据库
- 批处理命令 BAT备份MySQL数据库
- bat 备份mysql数据库, 并把备份后的文件发送到指定的FTP和邮箱(windows2003)
- 用bat备份 mysql数据库为空
- 批处理命令 BAT备份MySQL数据库
- bat文件备份MySQL数据库
- 批处理命令 BAT备份MySQL数据库
- MySQL数据库备份总结 推荐
- mysql数据库的备份和转移[自我总结,是之前一篇文章的补充]
- Java备份mysql数据库及错误总结
- 批处理命令 BAT备份MySQL数据库
- 网站论坛搬家之数据库备份,mysql数据库的导出与备份方法总结。
- 批处理(.bat)命令 备份MySQL数据库
- 带日期备份MySQL数据库bat脚本
- 批处理命令 BAT备份MySQL数据库