欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

通過java備份恢復mysql數據庫的實現代碼

 更新時間:2013年09月09日 11:51:59   作者:  
這篇文章主要介紹了如何通過java備份恢復mysql數據庫,其實一般情況下通過bat或sh就可以,這里主要是介紹了java的實現思路,喜歡的朋友可以參考下
復制代碼 代碼如下:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;

public class Test {
    public static void main(String[] args) throws IOException{
        backup("d:\\\\d.sql");
        recover("d:\\\\d.sql");
    }
    public static void backup(String path) throws IOException{
        Runtime runtime = Runtime.getRuntime();
        //-u后面是用戶名,-p是密碼-p后面最好不要有空格,-family是數據庫的名字
        Process process = runtime.exec("mysqldump -u root -p123456 family");
        InputStream inputStream = process.getInputStream();//得到輸入流,寫成.sql文件
        InputStreamReader reader = new InputStreamReader(inputStream);
        BufferedReader br = new BufferedReader(reader);
        String s = null;
        StringBuffer sb = new StringBuffer();
        while((s = br.readLine()) != null){
            sb.append(s+"\\r\\n");
        }
        s = sb.toString();
        System.out.println(s);
        File file = new File(path);
        file.getParentFile().mkdirs();
        FileOutputStream fileOutputStream = new FileOutputStream(file);
        fileOutputStream.write(s.getBytes());
        fileOutputStream.close();
        br.close();
        reader.close();
        inputStream.close();
    }
    public static void recover(String path) throws IOException{
        Runtime runtime = Runtime.getRuntime();
        //-u后面是用戶名,-p是密碼-p后面最好不要有空格,-family是數據庫的名字,--default-character-set=utf8,這句話一定的加
        //我就是因為這句話沒加導致程序運行成功,但是數據庫里面的內容還是以前的內容,最好寫上完成的sql放到cmd中一運行才知道報錯了
        //錯誤信息:
        //mysql: Character set 'utf-8' is not a compiled character set and is not specified in the '
        //C:\\Program Files\\MySQL\\MySQL Server 5.5\\share\\charsets\\Index.xml' file ERROR 2019 (HY000): Can't
        // initialize character set utf-8 (path: C:\\Program Files\\MySQL\\MySQL Server 5.5\\share\\charsets\\),
        //又是討人厭的編碼問題,在恢復的時候設置一下默認的編碼就可以了。
        Process process = runtime.exec("mysql -u root -p123456 --default-character-set=utf8 family");
        OutputStream outputStream = process.getOutputStream();
        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path)));
        String str = null;
        StringBuffer sb = new StringBuffer();
        while((str = br.readLine()) != null){
            sb.append(str+"\\r\\n");
        }
        str = sb.toString();
        System.out.println(str);
        OutputStreamWriter writer = new OutputStreamWriter(outputStream,"utf-8");
        writer.write(str);
        writer.flush();
        outputStream.close();
        br.close();
        writer.close();
    }
}

相關文章

  • Java8 Lambda表達式模板方法實現解析

    Java8 Lambda表達式模板方法實現解析

    這篇文章主要介紹了Java8 Lambda表達式模板方法實現解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • java 中枚舉類enum的values()方法的詳解

    java 中枚舉類enum的values()方法的詳解

    這篇文章主要介紹了java 中枚舉類enum的values()方法的詳解的相關資料,希望通過本文大家能夠掌握這部分內容,需要的朋友可以參考下
    2017-09-09
  • Java8日期類LocalDate、LocalTime和LocalDateTime使用方法詳解

    Java8日期類LocalDate、LocalTime和LocalDateTime使用方法詳解

    這篇文章主要給大家介紹了關于Java8日期類LocalDate、LocalTime和LocalDateTime使用方法的相關資料,LocalDateTime是JDK1.8出現的新特性,解決線程不安全的問題,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • spring聲明式事務管理解析

    spring聲明式事務管理解析

    這篇文章主要為大家詳細介紹了spring聲明式事務管理,對spring事務管理進行深入了解,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Java避免死鎖_動力節(jié)點Java學院整理

    Java避免死鎖_動力節(jié)點Java學院整理

    在有些情況下死鎖是可以避免的。本文將展示三種用于避免死鎖的技術。對java避免死鎖的相關知識感興趣的朋友一起通過本文學習吧
    2017-06-06
  • 深入理解Java 類加載全過程

    深入理解Java 類加載全過程

    這篇文章主要介紹了深入理解Java 類加載全過程的相關資料,需要的朋友可以參考下
    2017-02-02
  • 業(yè)務系統(tǒng)的Prometheus實踐示例詳解

    業(yè)務系統(tǒng)的Prometheus實踐示例詳解

    這篇文章主要為大家介紹了業(yè)務系統(tǒng)的Prometheus實踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • 詳解Spring Boot中整合Sharding-JDBC讀寫分離示例

    詳解Spring Boot中整合Sharding-JDBC讀寫分離示例

    這篇文章主要介紹了詳解Spring Boot中整合Sharding-JDBC讀寫分離示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • Spring?Boot使用Schedule實現定時任務的方法

    Spring?Boot使用Schedule實現定時任務的方法

    這篇文章主要介紹了Spring?Boot使用Schedule實現定時任務,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • SpringBoot文件上傳同時接收復雜參數的過程詳解

    SpringBoot文件上傳同時接收復雜參數的過程詳解

    這篇文章主要介紹了SpringBoot文件上傳同時,接收復雜參數,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12

最新評論