找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26032|回复: 8

[文本处理] [已解决]批处理如何备份MySQL数据库并生成带日期格式的文件?

[复制链接]
发表于 2012-2-4 16:01:54 | 显示全部楼层 |阅读模式
数据库的备份生成命令为:

C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -u 用户名 -p 数据库名>cvtbarcode日期格式.sql

能否生成一个带日期格式的批处理?

日期形式:yyyymmdd

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2012-2-4 19:07:53 | 显示全部楼层
win7的情况下,按你所说的方式获取日期。

  1. @echo off
  2. set str=%date:/=%
  3. echo %str:~,8%
  4. pause
复制代码
 楼主| 发表于 2012-2-6 08:35:51 | 显示全部楼层
额,我是想问这个备份的批处理如何写?

正常的执行操作是
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -u 用户名 -p 数据库名>cvtbarcode日期格式.sql

然后系统提示输入数据库密码。

如果要指定存放路径,这个批处理改如何写?
 楼主| 发表于 2012-2-6 12:00:28 | 显示全部楼层
日期操作我已获得,请问在C:\Program Files\MySQL\MySQL Server 5.1\bin路径下执行命令的批处理怎么写?系统会提示输入数据库密码。这个是怎么操作?
 楼主| 发表于 2012-2-6 12:11:15 | 显示全部楼层

  1. @echo off
  2. >"%tmp%\MyDel.vbs" echo dt=date()-1
  3. >>"%tmp%\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)
  4. >>"%tmp%\MyDel.vbs" echo wscript.echo s
  5. for /f %%a in ('cscript /nologo "%tmp%\MyDel.vbs"') do set yesterday=%%a
  6. echo %yesterday%
  7. >CD C:\Program Files\MySQL\MySQL Server 5.1\bin\
  8. >>mysqldump -u root -p test>"E:\software install\testDatabaseBackup\cvtbarcode%yesterday%test.sql"
  9. pause
复制代码
提示有错误,怎么修改?如果系统提示密码,怎么在批处理程序里添加?
发表于 2012-2-6 21:26:53 | 显示全部楼层
回复 5# lazygc520


详细的报错信息是什么?
 楼主| 发表于 2012-2-7 08:09:24 | 显示全部楼层
回复 6# find

  1. 20120206
  2. 'C:\Program' 不是内部或外部命令,也不是可运行的程序
  3. 或批处理文件。
  4. '-u' 不是内部或外部命令,也不是可运行的程序
  5. 或批处理文件。
  6. 请按任意键继续. . .
复制代码
发表于 2012-2-7 09:32:16 | 显示全部楼层
本帖最后由 Demon 于 2012-2-7 09:33 编辑
  1. @echo off
  2. >"%tmp%\MyDel.vbs" echo dt=date()-1
  3. >>"%tmp%\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)
  4. >>"%tmp%\MyDel.vbs" echo wscript.echo s
  5. for /f %%a in ('cscript /nologo "%tmp%\MyDel.vbs"') do set yesterday=%%a
  6. echo %yesterday%
  7. >CD C:\Program Files\MySQL\MySQL Server 5.1\bin\
  8. >>mysqldump -u root -p test>"E:\software install\testDatabaseBackup\cvtbarcode%yesterday%test.sql"
  9. pause
复制代码
提示有错误,怎么修改?如果系统提示密码,怎么在批处理程序里添加?
lazygc520 发表于 2012-2-6 12:11


不伦不类


'Author: Demon
'Website: http://demon.tw
'Date: 2012/2/7
Option Explicit
Const user = "root"
Const pass = "123456"
Const data = "test"
Const dump = "C:\Program Files\MySQL\MySQL Server 5.1\bin\"
Const dest = "E:\software install\testDatabaseBackup\"
Dim yesterday, t
t = Date - 1
yesterday = Year(t) & Right("0" & Month(t), 2) & Right("0" & Day(t), 2)
yesterday = dest & "cvtbarcode" & yesterday & ".sql"
Dim WshShell, Cmd
Set WshShell = CreateObject("wscript.Shell")
WshShell.CurrentDirectory = dump
Cmd = "mysqldump -u " & user & " -p" & pass & " -r " & yesterday & " " & data
WshShell.Run Cmd, 0, True
MsgBox "Backup complete", vbInformation

评分

参与人数 1技术 +1 收起 理由
lazygc520 + 1 虽然这个vbs和实际的效果有所出入,但是提供 ...

查看全部评分

发表于 2012-3-2 21:01:19 | 显示全部楼层
回复 7# lazygc520
  1. @echo off
  2. rem 设置MySQL用户名
  3. set username=MYUSER
  4. rem 设置MySQL密码
  5. set password=MYPASS
  6. >"%tmp%\MyDel.vbs" echo dt=date()-1
  7. >>"%tmp%\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)
  8. >>"%tmp%\MyDel.vbs" echo wscript.echo s
  9. for /f %%a in ('cscript /nologo "%tmp%\MyDel.vbs"') do set yesterday=%%a
  10. echo %yesterday%
  11. cd /d "C:\Program Files\MySQL\MySQL Server 5.1\bin"
  12. mysqldump -u%username% -p%password% <"E:\software install\testDatabaseBackup\cvtbarcode%yesterday%test.sql"
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 19:49 , Processed in 0.033023 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表