java备份mysql数据库
java备份mysql数据库的备忘。开始找了个非常长的程序,通过读取控制台执行备份命令后的输出再保存为文件,显得十分麻烦。想到命令行里有重定向符号,可以将输出直接保存为文件,修改后程序就十分短了。
执行的时候mysql的bin目录一定要在path里面。早上在添加了环境变量之后没有重启Eclipse,程序一直没跑过。
package com.ooobj.db;
public class DBBackup {
public void backup() {
try {
String mysql = "mysqldump -uroot -padmin dianiks > D:/temp/dianiks.sql";
java.lang.Runtime.getRuntime().exec("cmd /c " + mysql);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void load() {
try {
String mysql = "mysqladmin -uroot -padmin create dianiks";
java.lang.Runtime.getRuntime().exec("cmd /c " + mysql);
String path = "mysql -uroot -padmin dianiks < D:/temp/dianiks.sql";
java.lang.Runtime.getRuntime().exec("cmd /c " + path);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
public static void main(String[] args) {
DBBackup db = new DBBackup();
db.backup();
db.load();
}
}