您的位置:首页 > 编程语言 > Java开发

java实现mysql数据库的导出

2016-03-09 10:20 489 查看
import java.io.File;

import java.io.IOException;

/**

* MySQL数据库备份

*

* @author GaoHuanjie

*/

public class MYSQLDataBaseBackUp {

/**

* Java代码实现MySQL数据库导出

*

* @author GaoHuanjie

* @param hostIP MySQL数据库所在服务器地址IP

* @param userName 进入数据库所需要的用户名

* @param password 进入数据库所需要的密码

* @param savePath 数据库导出文件保存路径

* @param fileName 数据库导出文件文件名

* @param databaseName 要导出的数据库名

* @return 返回true表示导出成功,否则返回false。

*/

public static boolean exportDatabaseTool(String hostIP, String userName, String password, String savePath, String fileName, String databaseName) {

File saveFile = new File(savePath);

if (!saveFile.exists()) {// 如果目录不存在

saveFile.mkdirs();// 创建文件夹

}

if (!savePath.endsWith(File.separator)) {

savePath = savePath + File.separator;

}

StringBuilder stringBuilder = new StringBuilder();

stringBuilder.append("mysqldump").append(" --opt").append(" -h").append(hostIP);

stringBuilder.append(" --user=").append(userName) .append(" --password=").append(password).append(" --lock-all-tables=true");

stringBuilder.append(" --result-file=").append(savePath + fileName).append(" --default-character-set=utf8 ").append(databaseName);

try {

//使用此命令的前提是,windows环境中mysql的环境变量必须设置OK

Process process = Runtime.getRuntime().exec(stringBuilder.toString());

if (process.waitFor() == 0) {// 0 表示线程正常终止。

return true;

}

} catch (IOException e) {

e.printStackTrace();

} catch (InterruptedException e) {

e.printStackTrace();

}

return false;

}

public static void main(String[] args) throws InterruptedException {

if (exportDatabaseTool("localhost", "root", "123456", "D:/backup", "2016-03-21.sql", "jksys")) {

System.out.println("数据库备份成功!!!");

} else {

System.out.println("数据库备份失败!!!");

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: