java实现mysql数据库备份和还原

package com;

import java.io.IOException;

/**
 * 
 * @ClassName testCMD2
 * @Description:java实现mysql数据库的备份和还原
 * @author Administrator
 * @date 2013-8-15
 */
public class testCMD2 {
	/**
	 * 数据库用户名
	 */
	public static String username = "root";
	/**
	 * 数据库密码
	 */
	public static String password = "root" ;
	/**
	 * mysql bin路径
	 * mysql安装过程中  在安装路径中不能有空格
	 */
	public static String mysqlpaths = "D://jobSoftWare//MySql56//MySQL Server 5.6//bin";
	/**
	 * 数据库名称
	 */
	public static String databaseName = "podms";
	/**
	 * 数据库url
	 */
	public static String address = "localhost";
	/**
	 * 备份还原路径
	 */
	public static String sqlpath = "E://";
	
	
	public static void main(String[] args) {
			/*back("fengxin.sql");
			load("fengxin.sql");*/
	}
	/**
	 * 
	 * @Description:备份Mysql数据库
	 * @param fileName 数据备份sql文件名
	 * @throws 
	 * @author fengxin
	 */
	public static void back(String fileName){
		StringBuilder sb=new StringBuilder();
		sb.append("mysqldump").append(" --opt").append(" -h").append(address);
		sb.append(" --user=").append(username).append(" --password=").append(password).append(" --lock-all-tables=true");
		sb.append(" --result-file=").append(sqlpath).append(fileName).append(" --default-character-set=utf8 ").append(databaseName);
		Runtime cmd = Runtime.getRuntime();
		try {
			Process p = cmd.exec("cmd /c "+sb.toString());
			p.waitFor();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
	/**
	 * 
	 * @Description:还原mysql数据库
	 * @param fileName 还原mysql数据sql文件名称
	 * @throws 
	 * @author Administrator
	 */
	public static void load(String fileName){
		StringBuilder cmd=new StringBuilder();
		cmd.append("mysql").append(" -h ").append("localhost");
		cmd.append(" -u").append("root").append(" -p").append("root");
		cmd.append(" ").append("podms");
		cmd.append(" <").append(sqlpath).append(fileName);
		Runtime runtime=Runtime.getRuntime();
		Process process=null;
		try {
			process=runtime.exec("cmd /c "+cmd);
			process.waitFor();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}

}

关于安装路径说明:

D://jobSoftWare//MySql56//MySQL Server 5.6//bin

在mysql安装过程中 mysql让你选择路径一个是安装路径 一个是data路径,你所选择的路径中不能有空格

以上我的路径是D://jobSoftWare//MySql56        之后的是路径是mysql自己生成的,mysql自己生成的路径中带有空格 这个没关系的。

如果安装路径中带有空格,有很多问题发生 我前几天上网看看了看,大多数用java实现mysql数据备份和还原的时候 都是备份可以  但是还原却总是没发成功 也学和mysql的安装路径有关系!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值