首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB打开错误: WiredTiger.turtle: WiredTiger - open: open:不允许操作

MongoDB打开错误: WiredTiger.turtle: WiredTiger - open: open:不允许操作
EN

Stack Overflow用户
提问于 2019-01-17 22:32:27
回答 1查看 569关注 0票数 1

MongoDB为我出色地工作了几个月,直到一两周前我意外关机。从那时起,我在标题中不断收到错误,如滚雪球般变成无效参数,然后是库恐慌,然后是一些导致MongoDB崩溃的致命断言。

现在,我已经做了我的研究:通常的答案是运行修复功能,并确保SELinux没有搞砸这个过程。这两种方法都没有奏效。这个错误是在WiredTiger的检查点过程中抛出的,所以对数据库的读/写不是问题,而且因为它是在检查点过程中抛出的,所以它保证MongoDB不会保持工作超过一天。

需要说明的是:数据库中的所有文件都属于mongod:mongod,将权限设置为600 (默认情况下,我尝试将权限设置为755,以查看是否可以修复它,但没有)。我在CentOS 7机器上将mongodb作为服务运行,服务文件指定它应该以用户mongod身份运行。mongod.conf文件指定一个已挂载的文件系统作为数据库,在意外关机之前,它一直对此很满意。我运行的是MongoDB版本4.0.1,所以如果我禁用日志记录,WiredTiger也不会喜欢(忽略了我一开始就不应该禁用它的事实)。

我觉得我已经用尽了所有的选择,我唯一能做的就是备份我的数据并重新安装MongoDB。我有没有遗漏什么?

EN

回答 1

Stack Overflow用户

发布于 2019-01-22 22:13:31

在通过mongodump创建我的数据备份,关闭mongo,使用rm -rf 'path-to- database‘删除整个数据库,重新启动mongo (没有复制配置),并使用mongorestore恢复数据后,mongodb仍然崩溃。然而,这一次,在不允许open:操作之后,它有一个不变的失败。我能想到的唯一结论是数据本身在某种程度上已经被破坏了。值得庆幸的是,可以说,这不是“任务关键型”数据,我可以很容易地获得新数据。

不幸的是,这并没有回答我最初的问题“我还有什么其他选择?”然而,我仍然在这里发布这篇文章,以防其他人遇到同样的问题。

编辑:不变的问题是由我忘记重新初始化我的复制集引起的。在修复之后,它是干净的。因此,我不再认为这是一个数据损坏问题,而是一个检查点损坏问题。

编辑2:大约一周后,问题再次出现,在尝试了另一周的各种调试方法后,我尝试简单地将mongo进程转移到另一台服务器上。到目前为止,这是有效的。之前的服务器出问题了(我一度甚至不能运行top --另一个进程锁定了运行它所需的库文件),所以这里希望当前的服务器不要遵循suite。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54238128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档