windows下利用mysqldump备份MySql数据库

D:\MySQL5.1\bin\mysqldump -uroot -proot --default-character-set=utf8 --opt --extended-insert=false --triggers -R --hex-blob -x database_name > D:\db_backup\backup%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%.sql
echo "OK!"

  将上面的内容复制,database_name替换成数据库名,另存为bat文件,然后添加到windows任务计划中即可。

  注意两点:
  1.mysql的安装路径中不能有空格,如不要安装在D:\Program Files\……文件夹下,否则bat文件不能正确运行。(尽管可以手动在cmd中cd到带空格的目录下,但用在cmd中直接运行带空格路径的命令,就会出错)。
  解决方法:
  1)用缩写:比如c:\Program Files缩写为c:\Progra~1
  规则:
  文件夹(sub-directry)名称,以前是不允许带空白的,后来允许带空白,但由于有了空白,许多命令出现二义性,于是采用8个字符缩写,即写头六个字母(略去空白),另加波浪号和1。例如:
  Documents and Settings -- DOCUME~1
  Local Settings -- LOCALS~1 (注意略去空白,用了第二个词的字母,凑成六个,再加波浪号和1)。
  那么,如果多个文件前6字符一样怎么办?为什么最后是1而不是0或者其他数字呢?看看这个例子
  假设下面是你的C盘根目录中的文件夹:
  Program Files
  Progra file
  Progra zhang
  则三个目录分别表示为:C:\Progra~1; C:\Progra~2; C:\Progra~3;
  2)用引号将路径引起来
  3)d:
    cd D:\test 1\test 2\test 3\
    x.exe

  2.目的文件所在的文件夹要提前建好,如上面的D:\db_backup

  3.解释%date:~0,4%:%……%是取命令运行的结果,就像Unix下的''。date是查看日期命令,time是查看时间命令。0,4是取结果中索引0开始共4个元素的字符串。之所以不直接用%time:~0,8%了事,是因为windows文件的命名中不能有冒号,所以拆开了。

你可能感兴趣的:(C++,c,windows,mysql,C#)