2015-04-21 31 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/

因此,我能够保持命令窗口打开时间更长,并阅读它显示的错误。最后的问题是在数据库和特权锁表中的视图中的表,列,函数或定义者/调用者之间存在一些冲突。老实说,我不明白这意味着什么,但我需要快速解决它,所以我刚刚删除了视图(幸好我没有真正的用处)。

我希望这可以帮助别人:)

相关问题