springMVC+hibernate框架 用命令行备份还原mysql数据库

1.要提前配置好数据库的环境变量
2.备份的命令:
mysqldump -u用户名 -p密码 --set-charset=utf8 数据库名 表名 >要备份到的地址
例:mysqldump -uroot -p123456 --set-charset=utf8 ssh_finance lsconf > e:\backup\ttt.sql
3.恢复的命令:
mysql -u用户名 -p密码 -f -D ssh_finance lsconf < e:\backup\ttt.sql

在程序中执行命令用 Runtime方法:
恢复数据部分的代码:

public void restore(String path) {

try {
String command ="Mysql -u" + username + " -p" + password +" -f -D "+"ssh_finance"+"<"+path;
Runtime rt = Runtime.getRuntime();
rt.exec("cmd /c " +command);
} catch (IOException e) {
e.printStackTrace();
}
}

备份数据的代码:

public void backup(String dest, String dbname) {
try {
String path = dest+"\\"+dbname+".sql";
OutputStream out = new FileOutputStream(path);
backup(out, dbname);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}

public void backup(OutputStream output, String dbname) {
String command ="cmd /c "+ "mysqldump -u" + username
+ " -p" + password + " --set-charset=utf8 " +"ssh_finance "+dbname;
PrintWriter p = null;
BufferedReader reader = null;
try {
p = new PrintWriter(new OutputStreamWriter(output, "utf8"));
Process process = Runtime.getRuntime().exec(command);
InputStreamReader inputStreamReader = new InputStreamReader(process
.getInputStream(), "utf8");
reader = new BufferedReader(inputStreamReader);
String line = null;
while ((line = reader.readLine()) != null) {
p.println(line);
}
p.flush();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
if (p != null) {
p.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值