最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于數(shù)據(jù)庫備份時(shí)遇到的問題

標(biāo)簽:
Java

目前在进行一些项目开发的时候遇到要对数据库进行备份与还原的操作。在进行操作的时候在对数据库进行备份时遇到一些问题,记录下来。
数据库的备份需要调用cmd命令,起初我们是这样设计的

    public void backup(String path) throws IOException{
    Runtime runtime = Runtime.getRuntime();
    //-u后面是用户名,-p是密码-p后面最好不要有空格,-family是数据库的名字
    String cmd = "mysqldump  -u userName -ppassword --set-charset=UTF8 databaseName";
    Process process = runtime.exec(cmd);
    InputStream inputStream = process.getInputStream();//得到输入流,写成.sql文件
    InputStreamReader reader = new InputStreamReader(inputStream,"utf-8");
    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();
    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();
}

利用以上方法测试时会报错但
mysqldump -u userName -ppassword --set-charset=UTF8 databaseName
该命令放cmd命令运行时若显示 无内部命令,说明mysql数据库在环境变量中未进行配置,我们需要在系统的环境变量中path下加入mysql在本机的路径 “ D:\network\phpStudy\MySQL\bin”
在加入这个之后在cmd中可以正常运行改命令对数据库进行备份。
但在java程序中运行仍会报错 Cannot run program "mysqldump": CreateProcess error=2
还是会报mysqldump文件,具体原因暂时还不太明确,不过我们将以上命令改为
cmd /c mysqldump -u userName -ppassword --set-charset=UTF8 databaseName
之后命令就可以正常运行,不会报错了,同时数据库也备份成功

另附上还原数据库的操作:

public void recover(String path) throws IOException {
    Runtime runtime = Runtime.getRuntime();
    Process process = runtime.exec("cmd /c mysql  -u userName  -p password  --default-character-set=utf8 lemon");
    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();

}
點(diǎn)擊查看更多內(nèi)容
2人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
JAVA開發(fā)工程師
手記
粉絲
10
獲贊與收藏
66

關(guān)注作者,訂閱最新文章

閱讀免費(fèi)教程

感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消