Java中CMD命令來備份mysql資料庫備份檔案出來為0位元組問題
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、前提是讓客戶部署時,別將專案部署在含有空格的資料夾下面。 記錄下問題的解決方法以供參考。 今天客戶打電話來說我們的系統備份的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、前提是讓客戶部署時,別將專案部署在含有空格的資料夾下面。 記錄下問題的解決方法以供參考。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31558068/viewspace-2854834/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [Sqlite] 使用Java程式、cmd命令列來備份恢復Sqlite資料庫SQLiteJava命令列資料庫
- mysqldump來備份MYSQL資料庫(指令碼)MySql資料庫指令碼
- mysql資料庫備份命令大全MySql資料庫
- mysql資料庫備份匯入命令MySql資料庫
- mysql 資料庫 備份MySql資料庫
- mysql 資料庫備份MySql資料庫
- Mysql中備份資料檔案中/*!*/的含義MySql
- Dedecms備份的資料檔案位置及備份資料庫的方法資料庫
- innobackupex 備份MySQL資料庫MySql資料庫
- mysql 備份資料庫 mysqldumpMySql資料庫
- tore 命令來恢復備份
- oracle uncatalog資料庫備份檔案Oracle資料庫
- Backup And Recovery User's Guide-備份資料庫-使用RMAN備份資料庫檔案GUIIDE資料庫
- rman全庫備份備份歸檔日誌檔案
- 初探MySQL資料備份及備份原理MySql
- 2 Day DBA-管理方案物件-執行備份和恢復-備份資料庫-資料檔案增量備份物件資料庫
- java mysql 資料庫備份和還原操作JavaMySql資料庫
- MySQL資料庫的基本備份MySql資料庫
- 1. 備份MySQL資料庫MySql資料庫
- Mysql資料庫自動備份MySql資料庫
- 備份mysql資料庫報告MySql資料庫
- 配置xtrabackup備份mysql資料庫MySql資料庫
- 使用innobackupex備份mysql資料庫MySql資料庫
- 使用Xtrabackup備份mysql資料庫MySql資料庫
- MySQL資料備份MySql
- 備份之控制檔案備份
- RMAN備份中不同版本是否備份空資料塊的問題
- SQL Server資料庫 bcp匯出備份檔案應用SQLServer資料庫
- SQL SERVER備份資料庫檔案(使用SSMS)SQLServer資料庫SSM
- MySQL資料庫備份種類以及常用備份工具彙總MySql資料庫
- MySQL 資料庫備份種類以及常用備份工具彙總MySql資料庫
- RMAN恢復(rman只備份資料庫,但不備份歸檔,歸檔透過簡單的rsync或scp來傳送到異地備份)資料庫
- 資料庫備份資料庫
- 用java做oracle資料庫備份有問題!急急急!!!JavaOracle資料庫
- Java備份MySQLJavaMySql
- [BUG反饋]ot資料庫備份問題資料庫
- MONGODB使用MONGDODUMP備份來搭建備份集MongoDB
- rman備份-(1) 利用備份級恢復資料檔案和控制檔案