Java代码实现MySQL数据库的备份

1;在windows 上我们可以直接cmd命令实现。
a;开始–>运行 cd 到 mysqldump的目录下;
b;输入命令 C:/mysqldump/mysqldump --opt -hlocalhost -p3306 -uroot --password=123456 database > D:/test.sql ;
我这里是直接把mysqldump.exe放倒了C盘(mysqldump所在的文件夹不能带空格,这个也会导致备份文件空); hlocalhost:mysql的主机ip ; p3306 :端口 ;uroot : 用户名 ;password : 密码
database : 你自己的数据库 ; D:/test.sql : 文件存放目录

2新建一个文件夹,在整个文件夹中新建一个.bat文件;如:backup.bat ;
在backup.bat文件中添加如下脚本:
@echo off
set “Ymd=%date:,4%%date:5,2%%date:~8,2%”
C:/mysqldump/mysqldump --opt -hlocalhost -p3306 -uroot --password=123456 database > D:/test_%Ymd%.sql
@echo on
双击backup.bat文件就可以了。或者也可以创建windows任务计划,这样就可以定时备份了。

3用java代码实现mysql数据库的备份
直接上代码:
public Object backup() throws IOException{
try {
String inStr , outStr;
StringBuffer sb = new StringBuffer("");
String savePath = “D:\backups\ssdt_mi_fun_”+DateTool.dateToStr(new Date())+".sql";
String command = "cmd /c C:/mysqldump/mysqldump -hlocalhost -p3306 -uroot --password=123456 database “;
Runtime rt = Runtime.getRuntime();
Process child = rt.exec(command);
InputStream in = child.getInputStream();
InputStreamReader inred = new InputStreamReader(in, “utf-8”);
BufferedReader br = new BufferedReader(inred);
while ((inStr = br.readLine()) != null) {
sb.append(inStr + “\r\n”);
}
outStr = sb.toString();
FileOutputStream fout = new FileOutputStream(savePath);
OutputStreamWriter writer = new OutputStreamWriter(fout,“utf-8”);
writer.write(outStr);
writer.flush();
in.close();
inred.close();
br.close();
writer.close();
fout.close();
System.out.print(“数据备份成功”);
} catch (Exception e) {
e.printStackTrace();
}
return"成功”;
}

以上自己实测都可以成功,特记录下来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值