备份mysql用mysqldump命令应该是最好的,
所以我也是用java来操作DOS命令;
你可以将备份的路径和mysql的安装路径写在属性文件里面,
这样也很灵活吧!

解决方案 »

  1.   

    "你可以将备份的路径和mysql的安装路径写在属性文件里面,
    这样也很灵活吧!"什么属性文件?这个文件怎么用,是怎么回事?
      

  2.   

    据个简单的例子;
    import java.io.*;
    import java.util.*;
    /**
     * <p>Description: 装载属性文件</p>
     * <p>Copyright: Copyright (c) 2003</p>
     * @author 笨狗熊妹妹
     * @version 1.0
     */class PehomeProps {
      Properties propsLoad(){
        Properties props=new Properties();
        File propfile=new File("1.txt");
        try{
          if(propfile.exists()){
            FileInputStream fin=new FileInputStream(propfile);
            props.load(fin);
          }
        }catch(IOException ioex){
          System.out.println("propsLoad throws IOException: "+ioex);
        }
        return props;
      }
    }
    而在1.txt中,你可以这样定义
    mysqlpath=c:/mysql/bin/
    backpath=d:/data/备份时:
      void ehomeDataBack() {
        Date tdate=new Date();
        /**
         * 文件名按照年月日的格式输出,如:20030604
         * */
        SimpleDateFormat smpDF=new SimpleDateFormat("yyyyMMdd");
        String buf=smpDF.format(tdate);
        PehomeProps myProp=new PehomeProps();
        Properties props=myProp.propsLoad();
        File backfile = new File(props.getProperty("backpath")+buf+".sql");
        try {
          /**
           * 如果是新的一天,则创建新的文件
           * */
          if (!backfile.exists()) {
            backfile.createNewFile();
          }
          //mysql的备份命令
        }
        catch (IOException ioex) {
          System.err.println(
              "ehomeDataBack() throws IOException : " + ioex);
        }
      }这样你就可以任意定义备份的位置了,也比较方便,而且备份的很快;
    你还可以查一下Properties怎么用