用Java实现MySQL数据库的备份

用Java实现MySQL数据库的备份,java,mysql,backup,Java,Mysql,Backup,我需要使用Java备份MySQL数据库。i、 e如果我运行类文件,它应该进行备份。i、 e在特定位置创建转储文件。这是我为您提供的示例解决方案 public static void main(String[] args) { Connection con = null; Statement st = null; ResultSet rs = null; String url = "jdbc:mysql://localhost/t"; String u

我需要使用Java备份MySQL数据库。i、 e如果我运行类文件,它应该进行备份。i、 e在特定位置创建转储文件。

这是我为您提供的示例解决方案

 public static void main(String[] args) {

    Connection con = null;
    Statement st = null;
    ResultSet rs = null;

    String url = "jdbc:mysql://localhost/t";
    String user = "";
    String password = "";

    try {
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection(url, user, password);
        st = con.createStatement();
        rs = st.executeQuery("SELECT * FROM.........;");

        if (rs.next()) {//get first result
            System.out.println(rs.getString(1));//coloumn 1
            //TODO Write on your file
        }
    //TODO 
//**Process your file **/

    } catch (SQLException ex) {
        Logger lgr = Logger.getLogger(Version.class.getName());
        lgr.log(Level.SEVERE, ex.getMessage(), ex);

    } finally {
        try {
            if (rs != null) {
                rs.close();
            }
            if (st != null) {
                st.close();
            }
            if (con != null) {
                con.close();
            }

        } catch (SQLException ex) {
            Logger lgr = Logger.getLogger(Version.class.getName());
            lgr.log(Level.WARNING, ex.getMessage(), ex);
        }
    }
}
链接:


要在文件上写入:

下面的用户代码使用Java进行MySQL转储备份

public static void main(String[] args) {

        try {
            File dir = new File("/root/");
            Runtime runtime = Runtime.getRuntime();
            Process p = runtime.exec("mysqldump database_name >/path-for-backpfile/database.sql", null, dir);


            BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));

            String line = reader.readLine();


            while (line != null) {
                System.out.println(line);

                line = reader.readLine();
            }

        } catch (IOException e1) {
        }

    }

我已经创建了到数据库的连接,并尝试执行命令来使用processSample创建备份。示例代码已作为答案发布@prayagdon do it。如果您需要备份,请使用适当的工具进行备份。为什么需要java来实现这一点?不要“运行类”,而是运行例如
mysqldump
。@prayag..是的,你可以这样做..使用Java,我可以问你为什么要这样做吗?这不是我需要的。这是执行任何查询..我需要备份完整的数据库。