Linux下通過java備份mysql數據庫,使用mysqldump

最近因公司需要基於java備份mysql數據庫,按照網絡上多數建議使用以下命令備份:mysqldump -uroot  -padmin minas >/usr/2.sql,使用該命令的java實現如下所示:

Runtime.getRuntime().exec("mysqldump -uroot  -padmin minas >/usr/2.sql");  

經測試發現:該語句{mysqldump -uroot  -padmin minas >/usr/2.sql}在linux下直接執行是沒有錯誤的,但是基於jdk調用時,不能實現對其備份。

 

故給出以下解決方法:

1.利用whereis命令查看mysqldump命令所在路徑.如:whereis mysqldump,得到結果爲:mysqldump:  /usr/bin/mysqldump

2.將命令改爲:/usr/bin/mysqldump -uroot  -padmin minas >/usr/2.sql

3.java實現爲

          try{

             String[] cmd=new String[]{"/bin/sh ","-c ","/usr/bin/mysqldump -uroot  -padmin minas >/usr/2.sql "};

             Runtime.getRuntime().exec(cmd);          

            }catch(Exception e){

            }

 

mysqldump中參數的使用可參照baidu。

from:[email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章