最近遇到一个需求要在linux下用java调用mysql客户端远程登陆mysql服务器,从客户端机器导入mysql脚本,从mysql服务器端导出表中的数据。以下是用到的主要方法:
/**
* 导入数据
* @param 脚本的地址和名称
* @return 是否成功
*/
public static boolean importDb(String filepath) {
boolean flag=true;
System.out.println("filepaht = " + filepaht); //脚本地址
String[] cmd = {"cat "+filepaht+"| /usr/mysql/bin/mysql -uroot -p123456 --default-character-set=gbk -h142.16.254.2 test"};
try {
Process process = Runtime.getRuntime().exec(
new String[]{
"sh",
"-c",
cmd[0]});
BufferedReader inputBufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line = null;
while ((line = inputBufferedReader.readLine()) != null) {
System.out.println(line);
}
try {
process.waitFor();
} catch (InterruptedException e) {
flag=false;
e.printStackTrace();
}
} catch (IOException e) {
flag=false;
e.printStackTrace();
}
return flag;
}
/**
* 导出数据
* @param sql:要执行的查询语句
*@param filename:生成的文件地址和文件名
* @return 是否成功
*/
public static boolean exportDb(String sql,String filename) {
boolean flag=true;
// System.out.println("filename = " + filename);
String[] cmd = {"/usr/mysql/bin/mysql -uroot -p123456 --default-character-set=gbk -h142.16.254.2 test -e\""+sql+"\" > "+filename};
System.out.println("cmd[0] = " + cmd[0]);
try {
Process process = Runtime.getRuntime().exec(
new String[]{
"sh",
"-c",
cmd[0]});
BufferedReader inputBufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line = null;
while ((line = inputBufferedReader.readLine()) != null) {
System.out.println(line);
}
try {
process.waitFor();
} catch (InterruptedException e) {
flag=false;
e.printStackTrace();
}
} catch (IOException e) {
flag=false;
e.printStackTrace();
}
return flag;
}
服务器段mysql要加入登陆客户端机器的ip和权限;
文件夹要设置读写权限。
分享到:
相关推荐
在给定的标题“java调用mysql命令 导入导出数据库”中,我们可以理解为使用Java来执行MySQL的命令行工具,如`mysqldump`和`mysql`,来实现这些功能。下面将详细讲解如何在Java程序中调用这些命令。 首先,让我们...
在Java开发中,将数据库查询结果导出到Excel是一种常见的需求,特别是在数据分析、报表生成或者数据备份场景下。本文将详细讲解如何使用Java连接数据库,执行登录查询,并将查询结果导出为Excel文件,主要涉及的技术...
4. **成绩管理**:录入、修改和查询学生的考试成绩,支持批量导入导出。 5. **报表统计**:生成各种统计报表,如平均分、及格率等,便于数据分析。 综上所述,Java+MySQL学生学籍后台管理系统源码是一个综合运用...
`mysqldump`是MySQL提供的一种实用程序,可以导出数据库结构和数据为SQL语句。以下是如何在Java中调用`mysqldump`进行备份: ```java Runtime.getRuntime().exec("mysqldump -u [username] -p[password] -h ...
总的来说,Java实现MySQL数据库的备份与还原涉及到操作系统命令的调用,这要求服务器已经安装了相应的MySQL客户端工具。同时,为了确保数据安全,需要考虑备份的完整性和加密,以及在备份和还原过程中的错误处理。在...
对于简单的数据导出,`SELECT INTO OUTFILE`是另一种选择,它会将查询结果直接写入指定的文件,但仅限于导出数据,不包括表结构。 6. **`BACKUP TABLE`命令**: MySQL也提供`BACKUP TABLE`命令,但它仅适用于...
在这里,它被用来图形化地创建、编辑和管理数据库表,执行SQL查询和脚本,以及进行数据导入导出操作。 【开发环境】 开发人员可以使用Eclipse或IntelliJ IDEA这样的集成开发环境(IDE)来编写、测试和调试Java代码...
在Java应用中处理Excel数据时,如导入导出数据、生成报告,这个库非常实用。 `mysql-connector-java-5.1.6-bin.jar`和`mysql-connector-java-5.0.4-bin.jar`是MySQL的Java连接器,它们提供了与MySQL数据库交互的...
它使得Java程序可以方便地操作Excel电子表格,进行数据导入导出,非常适合于数据分析和报表生成。 5. **JNative.jar**:这是一个提供Java本地接口(JNI)支持的库,使得Java代码可以调用C/C++编写的本地代码,实现...
它提供了一个直观易用的界面,使得开发者无需通过命令行就能执行SQL查询、管理数据库对象、导入/导出数据等操作。SQLyog还具有性能分析、数据同步、备份恢复等功能,极大地提高了数据库管理员和开发人员的工作效率。...
导入数据则通过`mysql`命令行客户端或图形工具完成。 6. **部署项目到Tomcat** - 将打包好的Java Web应用程序(WAR文件)复制到Tomcat的`webapps`目录下,或者通过Tomcat Manager进行在线部署。另一种部署方式是将...
此外,系统可能还包含了用户权限管理、数据导入导出、报表生成等功能,以满足不同用户对杏种质资源管理的需求。为了保证系统安全,应考虑采用登录验证、权限控制等手段,防止非法访问和数据泄露。 总的来说,《基于...
然而,Python在数据处理、自动化测试等方面可能有辅助作用,例如使用Python脚本进行数据导入导出或自动化测试。 总的来说,"基于jsp+servlet+tomcat+mysql的人事管理系统"是一个涵盖了Web开发基础、数据库管理、...
或者增加导入导出功能,方便用户批量管理和备份联系人数据。 总结,这个通讯录管理系统结合了JSP、MySQL和Java三大核心技术,实现了通讯录的高效管理。对于学习和理解Web开发以及数据库管理的初学者,这是一个很好...
11. **Apache POI**:POI是处理Microsoft Office格式文档的库,如Excel(HSSF/XSSF)、Word(HWPF/XWPF)和PowerPoint(HSLF/XSLF),在处理数据导入导出时经常用到。 12. **Guava**:Google的Guava库提供了许多...
- 成绩管理:录入、修改、查看学生成绩,支持批量导入导出。 - 教师管理:管理教师信息,分配课程。 - 出勤管理:记录和统计学生的出勤情况。 - 报表和统计:生成各种报表,如学生出勤报告、成绩统计等。 **安全性...