자바 호출 mysql 클 라 이언 트 가 져 오기, 데이터 내 보 내기

  최근 에 Liux 에서 자바 로 my sql 클 라 이언 트 를 호출 하여 my sql 서버 에 원 격 으로 로그 인 하고 클 라 이언 트 기기 에서 my sql 스 크 립 트 를 가 져 와 my sql 서버 에서 표 의 데 이 터 를 내 보 내야 합 니 다.다음은 사용 하 는 주요 방법 이다.
 
   /**
    * 导入数据
     * @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;
    }

서버 세그먼트 my sql 은 클 라 이언 트 기기 에 로그 인 하 는 ip 와 권한 을 추가 해 야 합 니 다.
폴 더 는 읽 기와 쓰기 권한 을 설정 해 야 합 니 다.

좋은 웹페이지 즐겨찾기