Java代码 //data output String path2 = "C:/Program Files/MySQL/MySQL Server 5.0/bin/mysqldump.exe -uroot -proot -t turboshop > d:\\turboshop.sql"; java.lang.Runtime.getRuntime().exec(path2); System.out.println("data output in xx.sql file"); // import data String path1 = "mysqladmin -uroot -p create databasename"; java.lang.Runtime.getRuntime().exec("cmd /c " + path1); //restore path = "mysql databasename < d:/databack/xx.sql"; java.lang.Runtime.getRuntime().exec("cmd /c " + path); System.out.println("import data from xx.sql file"); //data output String path2 = "C:/Program Files/MySQL/MySQL Server 5.0/bin/mysqldump.exe -uroot -proot -t turboshop > d:\\turboshop.sql"; java.lang.Runtime.getRuntime().exec(path2); System.out.println("data output in xx.sql file"); // import data String path1 = "mysqladmin -uroot -p create databasename"; java.lang.Runtime.getRuntime().exec("cmd /c " + path1); //restore path = "mysql databasename < d:/databack/xx.sql"; java.lang.Runtime.getRuntime().exec("cmd /c " + path); System.out.println("import data from xx.sql file"); 之类的东东。经过测试,上面的方法根本行不通——得到的备份文件是空文件。 【重定向功能本身是把一个command命令的执行输出结果到另外一个command命令的输入。 你用Java执行,每次只能执行一条command命令,重定向是不支持的。 要用Process.getOutputStream(),获取第一条command命令的输出流,然后自己再写入硬盘文件。】 因此有心整理了一份mysql的数据库备份与恢复的源代码,与大家共享: |
转载于:https://blog.51cto.com/bxgbhf/510832