我利用java去还原数据库 ,用这种方法是不是先要删除已有的数据库,才能还原现有的数据库,但是我这样做了后 ,已有的也删不掉,现有的也加不上, 但是也没有报异常! 请问市怎么回事
String stmt= p.get("binpath").toString()+"mysqladmin -u root -p admin drop rfcard";
String stmt1 = p.get("binpath").toString()+"mysqladmin -u root -p admin create rfcard";
System.out.println(stmt1);
//打印出来:C:/Program Files/MySQL/MySQL Server 5.0/bin/mysqladmin -u root -p admin create rfcard String stmt2 = "mysql -u root -p admin rfcard < " + filepath;
System.out.println(stmt2);
//打印出来:mysql -u root -p admin rfcard < E:/20097916.sql
String[] cmd = { "cmd", "/c", stmt2 };
String message="";
try {
Runtime.getRuntime().exec(stmt);
//Runtime.getRuntime().exec(stmt1);
//Runtime.getRuntime().exec(cmd);
message="数据已从 " + filepath + " 导入到数据库中";
} catch (IOException e) {
e.printStackTrace();
message="数据导入失败";
}
String stmt= p.get("binpath").toString()+"mysqladmin -u root -p admin drop rfcard";
String stmt1 = p.get("binpath").toString()+"mysqladmin -u root -p admin create rfcard";
System.out.println(stmt1);
//打印出来:C:/Program Files/MySQL/MySQL Server 5.0/bin/mysqladmin -u root -p admin create rfcard String stmt2 = "mysql -u root -p admin rfcard < " + filepath;
System.out.println(stmt2);
//打印出来:mysql -u root -p admin rfcard < E:/20097916.sql
String[] cmd = { "cmd", "/c", stmt2 };
String message="";
try {
Runtime.getRuntime().exec(stmt);
//Runtime.getRuntime().exec(stmt1);
//Runtime.getRuntime().exec(cmd);
message="数据已从 " + filepath + " 导入到数据库中";
} catch (IOException e) {
e.printStackTrace();
message="数据导入失败";
}
一般不用mysql -uroot -padmin rfcard < E:/20097916.sql
这样应该可以了,你是怎样备份的?提示什么错误信息
我i这样备份的
String filepath="e:/"+String.valueOf(year)+String.valueOf(month)+String.valueOf(day)+String.valueOf(hour)+".sql";
String stmt1 = p.get("binpath").toString()+"mysqldump " + database + " -u " + user + " -p" + password + " --result-file=" + filepath;
String message="";
try {
Runtime.getRuntime().exec(stmt1);
message="数据已导出到文件" + filepath + "中";
}
catch (IOException e) {
e.printStackTrace();
message="数据导出失败";
}
报这样的错误mysql> mysql -uroot -padmin rfcard < E:/20097916.sql;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
-uroot -padmin rfcard < E:/20097916.sql' at line 1
mysql>
这是操作系统下的命令,不是mysql>工具中的。
这是操作系统下的命令,不是mysql>工具中的。