`

java 调用mysql客户端导入,导出数据

    博客分类:
  • java
阅读更多
  最近遇到一个需求要在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命令 导入导出数据库”中,我们可以理解为使用Java来执行MySQL的命令行工具,如`mysqldump`和`mysql`,来实现这些功能。下面将详细讲解如何在Java程序中调用这些命令。 首先,让我们...

    java连接数据库登录 查询结果导出excel

    在Java开发中,将数据库查询结果导出到Excel是一种常见的需求,特别是在数据分析、报表生成或者数据备份场景下。本文将详细讲解如何使用Java连接数据库,执行登录查询,并将查询结果导出为Excel文件,主要涉及的技术...

    java+mysql学生学籍后台管理系统源码

    4. **成绩管理**:录入、修改和查询学生的考试成绩,支持批量导入导出。 5. **报表统计**:生成各种统计报表,如平均分、及格率等,便于数据分析。 综上所述,Java+MySQL学生学籍后台管理系统源码是一个综合运用...

    mysql(完整、增量)备份与还原

    `mysqldump`是MySQL提供的一种实用程序,可以导出数据库结构和数据为SQL语句。以下是如何在Java中调用`mysqldump`进行备份: ```java Runtime.getRuntime().exec("mysqldump -u [username] -p[password] -h ...

    JAVA实现数据库备份与还原

    总的来说,Java实现MySQL数据库的备份与还原涉及到操作系统命令的调用,这要求服务器已经安装了相应的MySQL客户端工具。同时,为了确保数据安全,需要考虑备份的完整性和加密,以及在备份和还原过程中的错误处理。在...

    JAVA实现数据库备份与还原扫描.pdf

    对于简单的数据导出,`SELECT INTO OUTFILE`是另一种选择,它会将查询结果直接写入指定的文件,但仅限于导出数据,不包括表结构。 6. **`BACKUP TABLE`命令**: MySQL也提供`BACKUP TABLE`命令,但它仅适用于...

    java毕业设计之智慧农贸信息化管理平台源码(ssm+mysql+说明文档).zip

    在这里,它被用来图形化地创建、编辑和管理数据库表,执行SQL查询和脚本,以及进行数据导入导出操作。 【开发环境】 开发人员可以使用Eclipse或IntelliJ IDEA这样的集成开发环境(IDE)来编写、测试和调试Java代码...

    jar包 下载 什么都有 应有尽有 java开发

    在Java应用中处理Excel数据时,如导入导出数据、生成报告,这个库非常实用。 `mysql-connector-java-5.1.6-bin.jar`和`mysql-connector-java-5.0.4-bin.jar`是MySQL的Java连接器,它们提供了与MySQL数据库交互的...

    httpclient-4.4.jar mysql-connector-java-5.0.8-bin.jar等等

    它使得Java程序可以方便地操作Excel电子表格,进行数据导入导出,非常适合于数据分析和报表生成。 5. **JNative.jar**:这是一个提供Java本地接口(JNI)支持的库,使得Java代码可以调用C/C++编写的本地代码,实现...

    Tomcat&&MySQL&&SQLyog

    它提供了一个直观易用的界面,使得开发者无需通过命令行就能执行SQL查询、管理数据库对象、导入/导出数据等操作。SQLyog还具有性能分析、数据同步、备份恢复等功能,极大地提高了数据库管理员和开发人员的工作效率。...

    java项目部署

    导入数据则通过`mysql`命令行客户端或图形工具完成。 6. **部署项目到Tomcat** - 将打包好的Java Web应用程序(WAR文件)复制到Tomcat的`webapps`目录下,或者通过Tomcat Manager进行在线部署。另一种部署方式是将...

    基于ssm+mysql的杏种质资源管理系统源码数据库.zip

    此外,系统可能还包含了用户权限管理、数据导入导出、报表生成等功能,以满足不同用户对杏种质资源管理的需求。为了保证系统安全,应考虑采用登录验证、权限控制等手段,防止非法访问和数据泄露。 总的来说,《基于...

    基于jsp+servlet+tomcat+mysql的人事管理系统.zip

    然而,Python在数据处理、自动化测试等方面可能有辅助作用,例如使用Python脚本进行数据导入导出或自动化测试。 总的来说,"基于jsp+servlet+tomcat+mysql的人事管理系统"是一个涵盖了Web开发基础、数据库管理、...

    通讯录管理系统

    或者增加导入导出功能,方便用户批量管理和备份联系人数据。 总结,这个通讯录管理系统结合了JSP、MySQL和Java三大核心技术,实现了通讯录的高效管理。对于学习和理解Web开发以及数据库管理的初学者,这是一个很好...

    java开发常用的jar包整理

    11. **Apache POI**:POI是处理Microsoft Office格式文档的库,如Excel(HSSF/XSSF)、Word(HWPF/XWPF)和PowerPoint(HSLF/XSLF),在处理数据导入导出时经常用到。 12. **Guava**:Google的Guava库提供了许多...

    教务管理系统JSP+STRUTS+MYSQL.zip.rar

    - 成绩管理:录入、修改、查看学生成绩,支持批量导入导出。 - 教师管理:管理教师信息,分配课程。 - 出勤管理:记录和统计学生的出勤情况。 - 报表和统计:生成各种报表,如学生出勤报告、成绩统计等。 **安全性...

Global site tag (gtag.js) - Google Analytics