1.首先是备份数据库的cmd命令:
mysqldump -u root -p db_name > c:/mysql.sqp
db_name为数据库名称。
2. 使用Java来执行cmd命令:
String cmd="cmd /c dir c:\\";
Process proc=Runtime.getRuntime().exec(cmd);
BufferedReader br=new BufferedReader(new InputStreamReader(proc.getInputStream(),"utf-8"));
String str=null;
while((str=br.readLine())!=null){
System.out.println(str);
}
这个命令会列出所有C盘下的文件名称。
3. 使用Java来备份数据库:
String cmd="cmd /c mysqldump -u alleni -p123 mydb";
Process proc=Runtime.getRuntime().exec(cmd);
BufferedReader reader=new BufferedReader(new InputStreamReader(proc.getInputStream(),"utf-8"));
BufferedWriter writer=new BufferedWriter(new FileWriter("d:/mydb.sql"));;
String str=null;
while((str=reader.readLine())!=null){
System.out.println(str);
writer.write(str);
writer.newLine();
}
这里将备份文件命名为mydb.sql,并放在D盘下。
4. 使用Java来恢复数据库:
String cmd="cmd /c mysql -u alleni -p23315 mydb";
Process proc=Runtime.getRuntime().exec(cmd);
BufferedReader reader=new BufferedReader(new FileReader("d:/mydb.sql"));
BufferedWriter writer=new BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));;
String str=null;
while((str=reader.readLine())!=null){
System.out.println(str);
writer.write(str);
writer.newLine();
}
writer.close();
reader.close();