mysql中lastindexof_MySql数据备份

packagecom.hymake.xmq;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.OutputStreamWriter;importjava.util.Calendar;importjava.util.Date;/*** MySql数据备份工具类

*@authorxiongmq

**/

public classMySqlBackup {public static voidmain(String[] args) {

doBackup();

}//mySql数据备份

public static booleandoBackup(){boolean flag=false;//设置备份信息

String databaseName="weixin";//数据库名字

String mysqldumpUrl="C:\\Program Files\\MySQL\\MySQL Server 5.5";//mysql安装位置

String savePath="d:\\数据备份"; //备份文件保存位置

String host="127.0.0.1";//主机ip

String port="3306";//端口

String userName="root";//登录名

String password="123456";//登录密码//初始化bat文件

String dataBackupBatPath = System.getProperty("java.io.tmpdir")+ "\\dataBackup.bat";//创建bat文件,好做调用

getBackupBat(dataBackupBatPath);//拼凑备份命令

StringBuilder cmdStr=newStringBuilder();

cmdStr.append(dataBackupBatPath);

Calendar cal=Calendar.getInstance();

Date now=newDate();

cal.setTime(now);

String year=String.valueOf(cal.get(Calendar.YEAR));

String month=cal.get(Calendar.MONTH)+1<10?"0"+String.valueOf(cal.get(Calendar.MONTH)+1):String.valueOf(cal.get(Calendar.MONTH)+1);

String date=cal.get(Calendar.DATE)<10?"0"+String.valueOf(cal.get(Calendar.DATE)):String.valueOf(cal.get(Calendar.DATE));

String hour=cal.get(Calendar.HOUR_OF_DAY)<10?"0"+String.valueOf(cal.get(Calendar.HOUR_OF_DAY)):String.valueOf(cal.get(Calendar.HOUR_OF_DAY));

String minute=cal.get(Calendar.MINUTE)<10?"0"+String.valueOf(cal.get(Calendar.MINUTE)):String.valueOf(cal.get(Calendar.MINUTE));

String sec=cal.get(Calendar.SECOND)<10?"0"+String.valueOf(cal.get(Calendar.SECOND)):String.valueOf(cal.get(Calendar.SECOND));

String sqlFielName=databaseName+"_"+year+month+date+hour+minute+sec;

String sqlFielPath=year+"\\"+month;

cmdStr.append(" \""+savePath+"\"");

cmdStr.append(" \""+sqlFielPath+"\"");//获取数据库位置

cmdStr.append(" \""+mysqldumpUrl+"\"");

cmdStr.append(" "+host);

cmdStr.append(" "+port);

cmdStr.append(" "+userName);

cmdStr.append(" "+password);

cmdStr.append(" "+databaseName);

cmdStr.append(" "+sqlFielName);try{//执行命令

Process p =Runtime.getRuntime().exec(cmdStr.toString());

InputStream fis=p.getInputStream();

InputStreamReader isr=newInputStreamReader(fis);

BufferedReader br=newBufferedReader(isr);while((br.readLine())!=null) {

flag=true;

}

}catch(IOException e) {

e.printStackTrace();

}returnflag;

}/*** 创建bat文件

*@paramtempPath*/

public static booleangetBackupBat(String tempPath){boolean flag=false;

StringBuilder content=newStringBuilder();

content.append("SET BACK_DIR=%1");

content.append("\r\n");

content.append("md %BACK_DIR%\\%2");

content.append("\r\n");

content.append("SET BACK_PATH=%BACK_DIR%\\%2");

content.append("\r\n");

content.append("SET MYSQL_PATH=%3");

content.append("\r\n");

content.append("%MYSQL_PATH%\\bin\\mysqldump.exe --opt -h%4 -P%5 -u%6 -p%7 %8> %BACK_PATH%\\%9.sql ");

content.append("\r\n");

content.append("echo 数据备份完毕!");

String directoryPath= tempPath.substring(0, tempPath.lastIndexOf("\\"));

String fileName= tempPath.substring(tempPath.lastIndexOf("\\") + 1, tempPath.length());boolean checkDirectoryIsExist = newFile(directoryPath).exists();if(!checkDirectoryIsExist){newFile(directoryPath).mkdirs();

}try{

File file= new File(directoryPath + File.separator +fileName);

BufferedWriter bw= new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8"));

bw.write(content.toString());

flag= true;

bw.close();

}catch(IOException e) {

e.printStackTrace();

}returnflag;

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值