所有的Bacula备份在周末开始失败,出现以下MySQL错误:
致命错误:sql_create.c:XXX填充文件表查询失败:INSERT INTO文件(FileIndex,JobId,PathId,FilenameId,LStat,MD5)SELECT batch.FileIndex,batch.JobId,Path.PathId,Filename.FilenameId,batch.LStat ,batch.MD5 FROM批JOINpathON(batch.Path = Path.Path)JOIN Filename ON(batch.Name = Filename.Name):ERR =键'PRIMARY'的重复条目'375086058'
这是相当突然的:似乎是在凌晨3点05分到3点11分之间发生的,没有其他的提示。
快速看一下数据库同意,375086058是最高编号的FileId字段(这是文件表的主索引),但我不知道如何解决它,而不会破坏我的Bacula数据库。
有任何想法吗?
我查看了表的状态,并确认了Fileid字段是一个自动增量,并且被卡在375086058,这是它现在说的重复的数字。 我用以下两个命令得到了这个信息:
mysql> describe File; mysql> show table status where name='File';
为了解决这个问题,我把auto_increment更新为* next(number:
mysql> ALTER TABLE File AUTO_INCREMENT=375086059;
由于桌子的大小,这花了大约10分钟。 似乎已经解决了这个问题。