Java程序中实现 MySQL数据库的备份与还原

案例代码:

数据库备份

复制代码
 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);
        }
    }
复制代码
posted @ 2019-02-28 10:08  随★风  阅读(8197)  评论(1编辑  收藏  举报