【发布时间】:2017-03-05 07:47:42
【问题描述】:
我是 linux 用户,我想使用 java 恢复 mysql 数据库,我使用此代码来备份它,但我没有找到任何有效的方法来恢复它。此代码用于备份:
private static String ip = "localhost";
private static String port = "3306";
private static String database = "IMS";
private static String user = "root";
private static String pass = "pass";
private static String path = "/home/user/Desktop/project/";
public static void backup() {
Date dateNow = new Date();
SimpleDateFormat dateformatyyyyMMdd = new SimpleDateFormat("yyyyMMdd");
String date_to_string = dateformatyyyyMMdd.format(dateNow);
System.out.println("date into yyyyMMdd format: " + date_to_string);
String ss = "IMS.sql";
String fullName = path + " " + date_to_string + " " + ss;
String dumpCommand = "mysqldump " + database + " -h " + ip + " -u " + user + " -p" + pass;
Runtime rt = Runtime.getRuntime();
File test = new File(fullName);
PrintStream ps;
try {
Process child = rt.exec(dumpCommand);
ps = new PrintStream(test);
InputStream in = child.getInputStream();
int ch;
while ((ch = in.read()) != -1) {
ps.write(ch);
//System.out.write(ch); //to view it by console
}
InputStream err = child.getErrorStream();
while ((ch = err.read()) != -1) {
System.out.write(ch);
}
} catch (Exception exc) {
exc.printStackTrace();
}
}
【问题讨论】: