Board logo

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

作者: lazygc520    时间: 2012-2-4 16:01     标题: [已解决]批处理如何备份MySQL数据库并生成带日期格式的文件?

数据库的备份生成命令为:

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

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

日期形式:yyyymmdd
作者: lvsehuaxue    时间: 2012-2-4 19:07

win7的情况下,按你所说的方式获取日期。
  1. @echo off
  2. set str=%date:/=%
  3. echo %str:~,8%
  4. pause
复制代码

作者: lazygc520    时间: 2012-2-6 08:35

额,我是想问这个备份的批处理如何写?

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

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

如果要指定存放路径,这个批处理改如何写?
作者: lazygc520    时间: 2012-2-6 12:00

日期操作我已获得,请问在C:\Program Files\MySQL\MySQL Server 5.1\bin路径下执行命令的批处理怎么写?系统会提示输入数据库密码。这个是怎么操作?
作者: lazygc520    时间: 2012-2-6 12:11

  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
复制代码
提示有错误,怎么修改?如果系统提示密码,怎么在批处理程序里添加?
作者: find    时间: 2012-2-6 21:26

回复 5# lazygc520


详细的报错信息是什么?
作者: lazygc520    时间: 2012-2-7 08:09

回复 6# find
  1. 20120206
  2. 'C:\Program' 不是内部或外部命令,也不是可运行的程序
  3. 或批处理文件。
  4. '-u' 不是内部或外部命令,也不是可运行的程序
  5. 或批处理文件。
  6. 请按任意键继续. . .
复制代码

作者: Demon    时间: 2012-2-7 09:32

本帖最后由 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

作者: find    时间: 2012-3-2 21:01

回复 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"
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2