国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

    首頁(yè) > 編程 > Java > 正文

    通過(guò)java備份恢復(fù)mysql數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼

    2019-11-26 15:58:55
    字體:
    來(lái)源:轉(zhuǎn)載
    供稿:網(wǎng)友
    復(fù)制代碼 代碼如下:

    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是數(shù)據(jù)庫(kù)的名字
            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+"http://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是數(shù)據(jù)庫(kù)的名字,--default-character-set=utf8,這句話一定的加
            //我就是因?yàn)檫@句話沒(méi)加導(dǎo)致程序運(yùn)行成功,但是數(shù)據(jù)庫(kù)里面的內(nèi)容還是以前的內(nèi)容,最好寫上完成的sql放到cmd中一運(yùn)行才知道報(bào)錯(cuò)了
            //錯(cuò)誤信息:
            //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//),
            //又是討人厭的編碼問(wèn)題,在恢復(fù)的時(shí)候設(shè)置一下默認(rèn)的編碼就可以了。
            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+"http://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();
        }
    }
    發(fā)表評(píng)論 共有條評(píng)論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 平利县| 武川县| 柳州市| 马龙县| 陇川县| 岳阳市| 鄂尔多斯市| 卓资县| 襄汾县| 龙里县| 宁都县| 桓仁| 商洛市| 依安县| 页游| 库尔勒市| 平湖市| 浮梁县| 亚东县| 华亭县| 桐庐县| 江陵县| 喜德县| 武陟县| 深圳市| 崇礼县| 威远县| 郑州市| 昭通市| 邢台市| 东莞市| 富宁县| 麦盖提县| 广德县| 巩义市| 通海县| 赣州市| 潮安县| 汾西县| 蒲城县| 稻城县|