使用java从mysql备份特定表

时间:2015-08-20 12:28:16

标签: java mysql

我想使用mysqljava数据库中获取特定于备份的表。 我使用它成功备份数据库。这里的数据库名称是art_school,表格是分支,类,员工。

batchCommand=mysqldump -h localhost --port 3306 -u root  --add-drop-database -B art_school -r G:\Backup\Backup20150820175317.sql

java以及cmd执行。

但是对于备份特定表,

batchcommand=mysqldump -h localhost --port 3306 -u root art_school branch class employee > G:\Backup\BT20150820175319.sql

它在cmd上执行,但不是从java代码执行。

1 个答案:

答案 0 :(得分:0)

将某些内容写入文件的>符号仅在命令行中起作用。在Java中,您必须自己阅读命令的输出:

Process exec = Runtime.getRuntime().exec("ping localhost");
InputStream is = exec.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
StringBuilder builder = new StringBuilder();
for(String line=br.readLine(); line!=null; line=br.readLine()) {
    builder.append(line);
    builder.append('\n');
}
String text = builder.toString();
System.out.println(text);

然后,您可以将这些争议写入带有Java的文件。

或者,您可以将命令放在批处理文件(.bat)中,然后从Java运行该批处理文件。