Java中CMD命令來備份mysql資料庫備份檔案出來為0位元組問題
https://blog.csdn.net/qq_36936155/article/details/78978242
今天客戶打電話來說我們的系統備份的sql檔案為空檔案,
這讓我很凌亂,我們測驗過滴,執行很成功嘛,
可客戶使用的時候確實是備份失敗嘛 ,這是事實,
我東測驗西測驗,在本機咋滴還是沒出現這樣的問題;
沒辦法裝了個虛擬機,安裝了和客戶一樣的作業系統 ,并且按照客戶安裝步驟進行部署,
結果,神奇事情出現了,所備份的資料庫檔案確實是空的,最后是東找西找,又是百度又是谷歌的,還是沒有解決,
后來我一想,mysql的安裝路徑不一樣,我都喜歡把軟體工具都安裝在C盤以外,自定義的安裝路徑,而客戶是安裝在默認的Program Files下面,
而檔案夾有空格的名稱的經常會致使一些莫名其妙的問題出現,
想到就做,我將mysql bin目錄下的mysqldump復制放到c盤,并且把系統陳述句改為
Runtime rt = Runtime.getRuntime();
rt.exec("cmd /c c:\\mysqldump -hlocalhost -uroot -p123456 --opt databaseName>d:\\bk.sql");
居然成功了,檔案不再是0KB的空檔案,自此,問題解決,
罪魁禍首是Program Files檔案夾的空字串,不知道當初微軟為啥要在中間加個空格,
我專案的解決方案就是(專案 fhadmin.cn):
1、將mysqldump.exe復制放到我的專案檔案夾下
2、執行備份時,先得到專案部署路徑,然后執行
Runtime rt = Runtime.getRuntime();
String path = 獲取mysqldump所在路徑,
rt.exec("cmd /c "+path+"\\mysqldump -hlocalhost -uroot -p123456 --opt databaseName>d:\\bk.sql");
3、前提是讓客戶部署時,別將專案部署在含有空格的檔案夾下面,
記錄下問題的解決方法以供參考,
本文轉自http://www.cnblogs.com/aDust/archive/2012/10/19/mysqldump.html
今天客戶打電話來說我們的系統備份的sql檔案為空檔案,
這讓我很凌亂,我們測驗過滴,執行很成功嘛,
可客戶使用的時候確實是備份失敗嘛 ,這是事實,
我東測驗西測驗,在本機咋滴還是沒出現這樣的問題;
沒辦法裝了個虛擬機,安裝了和客戶一樣的作業系統 ,并且按照客戶安裝步驟進行部署,
結果,神奇事情出現了,所備份的資料庫檔案確實是空的,最后是東找西找,又是百度又是谷歌的,還是沒有解決,
后來我一想,mysql的安裝路徑不一樣,我都喜歡把軟體工具都安裝在C盤以外,自定義的安裝路徑,而客戶是安裝在默認的Program Files下面,
而檔案夾有空格的名稱的經常會致使一些莫名其妙的問題出現,
想到就做,我將mysql bin目錄下的mysqldump復制放到c盤,并且把系統陳述句改為
Runtime rt = Runtime.getRuntime();
rt.exec("cmd /c c:\\mysqldump -hlocalhost -uroot -p123456 --opt databaseName>d:\\bk.sql");
居然成功了,檔案不再是0KB的空檔案,自此,問題解決,
罪魁禍首是Program Files檔案夾的空字串,不知道當初微軟為啥要在中間加個空格,
我專案的解決方案就是:
1、將mysqldump.exe復制放到我的專案檔案夾下
2、執行備份時,先得到專案部署路徑,然后執行
Runtime rt = Runtime.getRuntime();
String path = 獲取mysqldump所在路徑,
rt.exec("cmd /c "+path+"\\mysqldump -hlocalhost -uroot -p123456 --opt databaseName>d:\\bk.sql");
3、前提是讓客戶部署時,別將專案部署在含有空格的檔案夾下面,
記錄下問題的解決方法以供參考,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/423549.html
標籤:其他
