mysql gunzip 远程,Java 操作mysql 导入|导出 gzip|gunzip 工具类
package util;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
* mysql数据库操作工具
*
* @author yzc 2019/12/12 上午9:55.
*/
public class MysqlDatabaseUtil {
/**
* 数据库导入
*
* @param filePath 导入文件存储位置
* @param host mysql IP
* @param port mysql port
* @param userName mysql 用户名
* @param password mysql 密码
* @param dataBaseName 数据库名称
* @return
*/
public static ControlResult importSql(String filePath, String host, String port, String userName, String password, String dataBaseName) {
try {
StringBuffer sbr = new StringBuffer();
sbr.append("gunzip < ");
sbr.append(filePath);
sbr.append(" | mysql");
sbr.append(" -u").append(userName);
sbr.append(" -p").append(password);
sbr.append(" -h").append(host);
sbr.append(" -P").append(port).append(" ");
sbr.append(dataBaseName);
Runtime rt = Runtime.getRuntime();
// 调用命令
rt.exec(new String[]{"/bin/sh", "-c", sbr.toString()});
} catch (Exception e) {
e.printStackTrace();
return ControlResult.error("操作异常,请检查数据库是否存在,或联系管理员!");
}
return ControlResult.success();
}
/**
* 数据库导出
*
* @param outputPath 导出文件存储位置
* @param host mysql IP
* @param port mysql port
* @param userName mysql 用户名
* @param password mysql 密码
* @param dataBaseName 数据库名称
* @param tableNames 表名称数组(如果有表名称,则只导出对应的数据表)
* @return
*/
public static ControlResult exportSql(String outputPath, String host, String port, String userName, String password,
String dataBaseName, List tableNames) {
//拼接导出的文件名
StringBuffer nameSbf = new StringBuffer();
try {
Runtime rt = Runtime.getRuntime();
//拼接数据库导出命令
StringBuffer sbr = new StringBuffer();
sbr.append("mysqldump");
sbr.append(" -u").append(userName);
sbr.append(" -p").append(password);
sbr.append(" -h").append(host);
sbr.append(" -P").append(port);
nameSbf.append(dataBaseName);
if (null != tableNames && tableNames.size() > 0) {
sbr.append(" -BR ");
sbr.append(dataBaseName).append(" ");
tableNames.stream().forEach(name -> {
sbr.append(name).append(" ");
nameSbf.append("_").append(name);
});
} else {
// -B 创建数据库 -R 导出函数和存储过程 sbr.append(" -BR ")
sbr.append(" -BR ").append(dataBaseName);
}
sbr.append(" | gzip ");
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyMMddHHmmssSSS");
String now = sdf.format(date);
nameSbf.append("_" + now + ".sql.gz");
sbr.append(" > ").append(outputPath).append(nameSbf);
// 调用命令
rt.exec(new String[]{"/bin/sh", "-c", sbr.toString()});
System.out.println("================");
System.out.println(nameSbf.toString());
return ControlResult.success(nameSbf.toString());
} catch (Exception e) {
e.printStackTrace();
return ControlResult.error("操作异常,请检查数据库是否存在或联系管理员!");
}
}
public static void main(String[] args) throws InterruptedException {
//importSql("/Users/yzc/Desktop/keyManage_20191212181852073.sql.gz","127.0.0.1","3306","root","root","");
ControlResult res = exportSql("/Users/yzc/Desktop/", "localhost", "3306", "root", "root", "keyManage", null);
}
}
mysql gunzip 远程,Java 操作mysql 导入|导出 gzip|gunzip 工具类相关推荐
- Java操作Excel导入导出(EasyExcel)
在管理一个系统时,总会有许多的数据,为了方便浏览查看数据,系统总会提供「导出Excel」的功能:有导出就有导入,在要向数据库中插入大量的数据时,我们向程序提供准备好的 Excel,然后程序读取表格内容 ...
- 几行代码就能实现复杂的 Excel 导入导出,这个工具类真心强大!
点击关注公众号,实用技术文章及时了解 功能介绍 IMPORT ExcelHandle 核心处理器 ExcelWorkbookManage excel所有工作表管理 ExcelInitConfig 配置 ...
- MySQL数据库中导入导出方法以及工具介绍
MySQL数据库中导入导出方法以及工具介绍 1.MySQLimport的语法介绍: mysqlimport位于mysql/bin目录中,是mysql的一个载入(或者说导入)数据的一个非常有效的工具.这 ...
- 【java 操作mysql】java连接mysql数据库并查询数据
做java开发不可避免要处理数据库,所以这里写篇用jdbc来连接mysql的文章,java是一种高性能,通用的语言 .这使得它适合于编写高效的ETL生产代码和计算密集型的机器学习算法. 主要内容包括: ...
- Java操作MySQL
Java操作MySQL PS:在之前的博客中详细的介绍了JAVA怎么用JDBC连接数据库,包括SQL Server和Oracle,用JDBC连接MySQL除了加载驱动和获得连接不同,其他都是一样的操作 ...
- java 读取mysql数据库_原生Java操作mysql数据库过程解析
这篇文章主要介绍了原生Java操作mysql数据库过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.引入数据库驱动的jar包 以通过mav ...
- Java 操作MySql Blob 字段
Java 操作MySql Blob 字段 import java.sql.*; import java.io.*; import javax.swing.*; import java.awt.*; i ...
- Java操作Mysql实例
Java操作Mysql实例 来自:http://junehuang111.blog.163.com/blog/static/627072201191933118658/ 2011-10-19 15:3 ...
- java实现excel导入导出,对象图片读取,上传七牛云
java实现excel导入导出以及解决方案 因为公司业务需求,要完成针对表格的导入导出,excel这里使用MultipartFile类接收 ,下面是部分关键代码,希望有所帮助 //获取excel文件的 ...
最新文章
- .NET架构小技巧(4)——反射,架构人员法宝II
- Zigbee费尽心思做mesh网究竟在智能家居中有什么用?
- LeetCode 555. 分割连接字符串
- stl vector 函数_vector :: back()函数以及C ++ STL中的示例
- C++设计模式-抽象工厂模式
- kafka消息队列的概念理解
- 使用php简单网页抓取和内容分析,使用PHP简单网页抓取和内容分析_php
- Anonymous推荐软件含有恶意***程序
- elasticsearch -- 问题纪录
- Autodesk 3DSMax 2016 安装注册说明
- u盘安装linux戴尔boot设置,戴尔笔记本电脑怎么设置u盘启动|dell新机型bios设置usb启动步骤...
- html动态工艺流程,化工工艺动态流程图制作软件
- 5s的app显示无法连接服务器,苹果手机无法连接到app store怎么办
- CSS选择器(id选择器,包含选择器,标签名选择器,类选择器,属性选择器,通配符选择器,伪类选择器,相邻选择器,选择器的优先级,子选择器)
- PinYin4j使用教程
- 智慧指间丨生态环境网格化监管系统——编织生态环保“绿网”
- 解析产品开发失败的5个根本原因
- cenos 解决Kernel panic – not syncing: Attempted to kill init
- /etc下的host配置文件们
- 服务器RPM打包详细教程