一,先說說基礎操作吧,這部分和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本身的命令。