欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java备份恢复mysql,java备份mysql,import java.

来源: javaer 分享于  点击 1142 次 点评:162

java备份恢复mysql,java备份mysql,import 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");http://www.huiyi8.com/jiaoben/        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();    }}
相关栏目:

用户点评