String command = "cmd /c C:/Program Files/MySQL/MySQL Server 5.5/bin>mysqldump -hlocalhost -uroot -p123456 db_blue > d:/mysql1.sql";
这个command 不用这种格式
//首先,设置mysql的环境变量(在path中添加%MYSQL_HOME%”bin),重启电脑。
这个不写会报错误 不能找到 这个mysqldump 命令
以下是代码部分
public static void main(String[] args) {
/*
* 备份和导入是一个互逆的过程。
* 备份:程序调用mysql的备份命令,读出控制台输入流信息,写入.sql文件;
* 导入:程序调用mysql的导入命令,把从.sql文件中读出的信息写入控制台的输出流
* 注意:此时定向符">"和"<"是不能用的
*/
try {
Runtime rt = Runtime.getRuntime();
String cmd ="mysqldump -h localhost -uroot -p123456 db_blue > e:/mysql.sql"; //一定要加 -h localhost(或是服务器IP地址)
Process process =rt.exec("cmd /c " + cmd);
InputStreamReader isr = new InputStreamReader(process.getErrorStream());
LineNumberReader input = new LineNumberReader(isr);
String line;
while((line = input.readLine())!= null){
System.out.println(line+"~~~~~~~~~~");
}
System.out.println("备份成功!");
} catch (IOException e) {
System.out.println("备份失败!");
e.printStackTrace();
}
}