JavaプログラムでMySQLデータベースのバックアップとリストアを実現

4243 ワード

ケースコード:

データベースのバックアップ

 1     //mysqldump -h  -u  -p    > d:/test.sql -- D 
 2     // 
 3     public static void dataBaseDump(String port,String username,String password,String databasename,String sqlname) throws Exception {
 4         File file = new File("F:\\test");
 5         if ( !file.exists() ){
 6             file.mkdir();
 7         }
 8         File datafile = new File(file+File.separator+sqlname+".sql");
 9         if( datafile.exists() ){
10             System.out.println(sqlname+" , ");
11             return ;
12         }
13         // cmd 
14         Process exec = Runtime.getRuntime().exec("cmd /c mysqldump -h"+port+" -u "+username+" -p"+password+" "+databasename+" > "+datafile);
15         if( exec.waitFor() == 0){
16             System.out.println(" , :"+datafile);
17         }
18     }

データベースのリストア

    // 
    //mysql -h  -u  -p    < d:/test.sql  
    public static void backup(String port,String username,String password,String databasename,String sqlname) throws Exception {
        File datafile = new File("F:\\test\\"+sqlname+".sql");
        if( !datafile.exists() ){
            System.out.println(sqlname+" , ");
            return ;
        }
        // cmd 
        Process exec = Runtime.getRuntime().exec("cmd /c mysql -h"+port+" -u "+username+" -p"+password+" "+databasename+" < "+datafile);
        if( exec.waitFor() == 0){
            System.out.println(" , :"+datafile);
        }
    }

転載先:https://www.cnblogs.com/oukele/p/10276977.html