在mysql中导入数据库时​​出错:ERROR 1005(HY000)(错误号:-1)

时间:2014-04-30 17:00:37

标签: mysql linux database admin

我在debian wheezy中有一个MySQL服务器(5.5.35)。我必须从12个转储中导入12个数据库。除了名称之外,数据库是相同的(转储当然也是如此),它们有108个表并且它们是空的(所以我实际上只是导入模式)。

问题在于导入开始失败并出现此错误:

ERROR 1005 (HY000): Can't create table 'databasename.tablename' (errno: -1)
Query OK, 0 rows affected (0.00 sec)

最有趣的是它无论在哪个数据库中导入都失败了:假设数据库的命名是从1到12.前6个将被正确导入,但是当导入第7个时,它会被导入每次尝试使用提到的错误创建一个表时,它最终都会失败。从这一点来看,其余的导入将以同样的方式失败。在删除所有内容并尝试再次导入所有内容之后,但是以不同的顺序(从12到1),数据库6-12将被正确导入,但DB 5将失败并出现相同的错误。

无论我想做什么,在某一点失败的事实表明我已达到某种限制。我在MySQL中知道的唯一限制是open_files_limit,现在将其设置为65535(最大IIRC)。 limits.conf中显示的操作系统限制显示了合理的值。

我完全迷失了。我没有丝毫想法问题在哪里。显然不在sql转储中,因为每个DB都会失败。我不知道这是mysql配置,操作系统还是什么的问题。

更新:我尝试将相同的SQL转储导入另一个类似的服务器(在我自己的计算机中,使用MariaDB-5.5.37),并且我获得了成功。我已经快速检查了两个SQL服务器的变量和参数,虽然它们不相同,但我没有发现任何可疑的内容。

0 个答案:

没有答案