mysql数据库备份

1import java.io.BufferedReader; 2import java.io.BufferedWriter; 3import java.io.FileInputStream; 4import java.io.FileOutputStream; 5import java.io.IOException; 6import java.io.InputStream; 7import java.io.InputStreamReader; 8import java.io.OutputStream; 9import java.io.OutputStreamWriter; 10 11 12//数据库备份 13public class MySQLDump { 14 15 public static boolean sqlDump(String cmd,String filePath){ 16 boolean falg = false; 17 try { 18 Runtime run = Runtime.getRuntime(); 19 //cmd 命令:"C:/Program Files/MySQL/MySQL Server 5.1/bin/mysqldump -uroot -proot email" 20 Process p = run.exec(cmd); 21 InputStream is = p.getInputStream();// 控制台的输出信息作为输入流 22 InputStreamReader isr = new InputStreamReader(is,"UTF-8");//设置输入流编码格式 23 BufferedReader br = new BufferedReader(isr); 24 //将控制台输入信息写入到文件输出流中 25 FileOutputStream fos = new FileOutputStream(filePath); 26 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos,"UTF-8")); 27 String temp = null; 28 while( (temp = br.readLine()) !=null){ 29 bw.write(temp); 30 bw.newLine(); 31 } 32 bw.flush(); 33 bw.close(); 34 br.close(); 35 falg = true; 36 System.out.println("/* Dump SQL File "+filePath+" OK! */"); 37 } catch (IOException e) { 38 throw new RuntimeException("请将mysql命令添加到path中!",e); 39 } 40 return falg; 41 } 42 43 //恢复数据库 44 /** 45 * 导入 46 * 47 */ 48 public static void sqlLoad(String cmd,String sqlPath) { 49 try { 50 Runtime rt = Runtime.getRuntime(); 51 52 // 调用 mysql 的 cmd: C:/Program Files/MySQL/MySQL Server 5.1/bin/mysql.exe -uroot -proot email 53 Process child = rt.exec(cmd); 54 OutputStream out = child.getOutputStream();//控制台的输入信息作为输出流 55 //输入流 56 BufferedReader br = new BufferedReader(new InputStreamReader( 57 new FileInputStream(sqlPath), "utf8")); 58 //输出流 59 OutputStreamWriter writer = new OutputStreamWriter(out, "utf8"); 60 String inStr; 61 while ((inStr = br.readLine()) != null) { 62 writer.write(inStr); 63 writer.write("\r\n"); 64 } 65 writer.flush(); 66 // 别忘记关闭输入输出流 67 out.close(); 68 br.close(); 69 writer.close(); 70 System.out.println("/* Load SQL File "+sqlPath+" OK! */"); 71 } catch (Exception e) { 72 e.printStackTrace(); 73 } 74 75 } 76 public static void main(String[] args) { 77 sqlDump("C:/Program Files/MySQL/MySQL Server 5.1/bin/mysqldump -uroot -proot email","c:/email.sql"); 78 sqlLoad("C:/Program Files/MySQL/MySQL Server 5.1/bin/mysql.exe -uroot -proot email","c:/email.sql"); 79 } 80 81}
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

Java调用bat sh脚本通用类

java调用bat、shell脚本通用类,工作记录。packagetest;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.IOException;importjava.io.InputStr

JetBrains IDEs

importjava.io.BufferedReader;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;i

Java 操作ini文件(往ini文件中读写数据(key

importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.OutputStream

Android蓝牙连接汽车OBD设备

//设备连接public class BluetoothConnect implements Runnable {    private static final UUID CONNECT_UUID  UUID.fromString("0000110100001000800000805F9B34FB");