有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用java从mysql备份特定的表

我希望使用javamysql数据库备份特定的表。 我用它成功地备份了数据库。这里的数据库名是art_school,表是branch、class、employee

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) 个答案

  1. # 1 楼答案

    向文件写入内容的>符号仅在命令行中有效。在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运行该批处理文件