用Java來備份還原MySQL資料庫

來源:互聯網
上載者:User

一,先說說基礎操作吧,這部分和java無關,只講mysql的操作,也只講在window環境下操作,linux下大體相同。

1、如果用mysqldump,你需要安裝mysql伺服器,如果是linux要裝mysql的用戶端,因為我們在本機上測試,服務端用戶端都要安裝,又因為在windows上操作,所以要安裝mysql。如果已安裝好了,就不用安裝了。

2、設定path環境變數,也就是把 mysql安裝目錄/bin 設在path環境變數中

3、確保你能訪問遠端Mysql伺服器,方法是開啟cmd 輸入如下命令 mysql -uroot -p123456 -hlocalhost 其中 -u後面是使用者名稱,-p後面是密碼,-h後面是你的mysql伺服器的IP或主機名稱,如果是本地機器不寫也沒關係,寫localhost也行,當然寫ip也可以,建議在本地建一個資料庫,建幾個表,insert點資料。如果備份遠端mysql,那麼就要指定遠端伺服器的IP了。

4、如果是備份遠端MYSQL一定要想辦法讓第三步走通,可以百度,就是弄清楚怎麼遠端存取mysql伺服器,如果是本地的話,其實只須保證mysql啟動了,使用者名稱和密碼都正確就可以了。

5、第三步可以了的前提下,開啟cmd 輸入如下命令 mysqldump -uroot -p123456 -hlocalhost dataname > d:\mysql.bak 其中 -u後面是使用者名稱,-p後面是密碼,-h後面是你的mysql遠程伺服器或本機(本機可以不指定這項)的IP dataname是你的mysql伺服器裡的資料庫名.d:\mysql.bak 是檔案全路徑,可以隨便指定。 > 代表備份資料到檔案,而 < 代表把檔案恢複到資料庫,所以測試時如果伺服器裡的資料非常重要,那麼要小心使用 < 這個符號(它是還原命令)。

6、第五步成功執行了,會得到一個檔案d:\mysql.bak ,這個檔案就是備份檔案了。

7、恢複命令,就是把第五步的命令中的 > 改成 < 就可以了。

二,上面說了mysqldump的用法,下面說說怎麼用java來進行備份,還原工作

1、確定你的環境沒問題,也就是上面的命令都可以成功執行。

2、寫一個.bat檔案,如在d盤根目錄下建一個mysqlbak.bat內容為:mysqldump -uroot -p123456 -hlocalhost dataname > d:\mysql.bak ,這個命令不解釋了,前面有,接著運行它,看能不能正確得到備份檔案。

3、要確保剛建的.bat檔案能運行,且正確,然後在java中調用這個.bat檔案,得到備份檔案,調用方法如下

Java code

//些為java調用.bat檔案進行備份的方法,每句代碼啥意思,嘿嘿
Process p = Runtime.getRuntime().exec("d:\\mysqlbak.bat");
        p.waitFor();
       
        Scanner s=new Scanner(new FileInputStream("d:\\xuchdata.bak"));
       
        while(s.hasNext())
        {
            System.out.println(s.next());
        }
       
        System.out.println(p.exitValue());

4、如果第三步正確執行了,那麼備份檔案得到了

5、前面四步是備份,還原的思路和這個差不多,就是先得有備份檔案,用java執行你寫的還原資料庫的.bat檔案。

說到底還是用的MySQL本身的命令。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.