java 백업,mysql 데이터베이스 복원

최근 에 mysql 데이터 베 이 스 를 백업 하고 복원 하 는 것 을 배 웠 는데 인터넷 에서 보 낸 것 이 모두 베껴 서 베 낀 것 을 발 견 했 습 니 다.이것 은 아마도 현재 중국 프로그래머 의 현황 일 것 입 니 다.베 끼 는 것 도 별 거 아니 야.관 건 이 가 보 낸 것 도 다 똑 같은 거 야.기분 나 빠 보 여.많은 것 이 성공 적 으로 운행 되 지 못 한다.이것 은 모두 가 개선 하고 상세 하 게 정리 해 야 한다.그렇지 않 으 면 사람 을 오도 할 것 이다.
저 는 my sql 5.0 을 사용 합 니 다.다음 프로그램 은 모두 자신의 인터넷 에 와 서 백업 복원 프로그램 을 먼저 봅 니 다.
백업:
try {
	StringBuffer sb = new StringBuffer();
	sb.append("C:\\Program Files\\MySQL\\MySQL Server 5.0\\bin\\");//      
	sb.append("mysqldump ");//    
	sb.append("--opt ");
	sb.append("-h 127.0.0.1");
	sb.append(" ");
	sb.append("--user=root");
	sb.append(" ");
	sb.append("--password=root");
	sb.append(" ");
	sb.append("--lock-all-tables=true ");
	sb.append("--result-file=D://aa//aa.sql");
	sb.append(" ");
	sb.append("--default-character-set=utf8 ");
	sb.append("tongxin");//databaseName
	Runtime cmd = Runtime.getRuntime();
	Process p = cmd.exec(sb.toString());
} catch (IOException e) {
	e.printStackTrace();
}

복원:
try {
	String stmt2 = "mysql.exe -u root -proot testbenfeng

자신의 테스트 를 통 해 백업 만 할 수 있 고 복원 할 수 없 으 며 오류 가 어디 에 있 는 지 모른다.아니면 이게 원래 잘못된 거 야?
제2 조
백업:
            Runtime rt = Runtime.getRuntime();     
            //    mysql   cmd:     
            Process child = rt     
                    .exec("C:\\Program Files\\MySQL\\MySQL Server 5.0\\bin\\mysqldump -uroot -proot  tongxin");//        utf8。     utf8  ,-u      ,-p     ,tongxin            
            //                 .sql  ,        。 :             ,                 
            InputStream in = child.getInputStream();//                   
            InputStreamReader xx = new InputStreamReader(in, "utf8");//         utf8。     utf8,                
            String inStr;     
            StringBuffer sb = new StringBuffer("");     
            String outStr;     
            //                  
            BufferedReader br = new BufferedReader(xx);     
            while ((inStr = br.readLine()) != null) {     
                sb.append(inStr + "\r
"); } outStr = sb.toString(); // sql : FileOutputStream fout = new FileOutputStream("d:/aa/aa.sql"); // OutputStreamWriter writer = new OutputStreamWriter(fout, "utf8"); writer.write(outStr); // : , , flush() writer.flush(); // in.close(); xx.close(); br.close(); writer.close(); fout.close(); System.out.println("/* Output OK! */"); } catch (Exception e) { e.printStackTrace(); }

복원:
       try {     
           String fPath = "D:\\aa\\aa.sql";  //       
           Runtime rt = Runtime.getRuntime();     
           //    mysql   cmd:     
           Process child = rt.exec("C:\\Program Files\\MySQL\\MySQL Server 5.0\\bin\\mysql.exe -uroot -proot testbenfeng "); 
	//  -u      ,-p      ,testbenfeng            
           OutputStream out = child.getOutputStream();//                  
           String inStr;     
           StringBuffer sb = new StringBuffer("");     
           String outStr;     
           BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fPath), "utf8"));     
           while ((inStr = br.readLine()) != null) {     
               sb.append(inStr + "\r
"); } outStr = sb.toString(); OutputStreamWriter writer = new OutputStreamWriter(out, "utf8"); writer.write(outStr); // : , , flush() writer.flush(); // out.close(); br.close(); writer.close(); } catch (Exception e) { e.printStackTrace(); }

백업 복원 도 가능 합 니 다.

좋은 웹페이지 즐겨찾기