2015-04-21 67 views
1

我遇到了一種不尋常的問題。我有一臺運行mysql數據庫的許多應用程序的服務器,每天計劃的任務都會在.bat文件的幫助下爲每個數據庫分別生成備份。Mysql備份.bat文件在服務器上返回一個1kb的sql文件

這是工作正常,直到前幾天,只有一個數據庫的蝙蝠已創建大小爲1kb的文件,當我知道它應該超過10,000 kb。這對我來說很奇怪,因爲它突然開始這樣做,沒有對服務器或數據庫結構進行更改。更重要的是,我用於每個數據庫的腳本是相同的,只有數據庫名稱發生更改。這裏是我的腳本:

CD C:\Program Files\MySQL\MySQL Server 5.1\bin 
set DATE=%date% 
set DATE=%DATE:/=% 
set DATE=%DATE: =% 
set DATE=%DATE::=% 
set DATE=%DATE:,=% 
set FILE=C:\\Backups\\DataBaseName_%DATE%.sql 
mysqldump -uroot -p1 --routines=TRUE -r %FILE% DataBaseName 

我檢查了root權限和他們很好,特別是因爲,正如我所說的,它適用於所有的數據庫,但一個。

我希望有人可以給我一些指導,我真的需要這個.bat運行,因爲它應該,我還沒有找到任何幫助我解決谷歌問題。有沒有人知道發生了什麼?

先謝謝!

+0

是否有可能你的磁盤空間不足?你有沒有看過非常小的文件,看看它們包含什麼? – tadman

回答

0

經過幾個小時的環視後,我發現一段代碼幫助我找到了問題,這不是磁盤空間,因爲我有足夠的空間。

要回答這個問題,1KB的文件包含以下內容:

-- MySQL dump 10.13 Distrib 5.1.57, for Win32 (ia32) 
-- 
-- Host: localhost Database: DatabaseName 
-- ------------------------------------------------------ 
-- Server version 5.1.57-community 

/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */; 
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */; 
/*!40101 SET @[email protected]@COLLATION_CONNECTION */; 
/*!40101 SET NAMES utf8 */; 
/*!40103 SET @[email protected]@TIME_ZONE */; 
/*!40103 SET TIME_ZONE='+00:00' */; 
/*!40014 SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; 
/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; 
/*!40101 SET @[email protected]@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; 
/*!40111 SET @[email protected]@SQL_NOTES, SQL_NOTES=0 */; 

沒有幫助一切對我來說,讓我用這幾乎在討論在這個環節結束代碼:http://epochmod.com/forum/index.php?/topic/16939-my-auto-backup-sqls-are-empty/

因此,我能夠保持命令窗口打開時間更長,並閱讀它顯示的錯誤。最後的問題是在數據庫和特權鎖表中的視圖中的表,列,函數或定義者/調用者之間存在一些衝突。老實說,我不明白這意味着什麼,但我需要快速解決它,所以我剛剛刪除了視圖(幸好我沒有真正的用處)。

我希望這可以幫助別人:)

相關問題