Mongodb搬家遇到的问题

在尝试使用tar包方式迁移MongoDB 3.0时遇到了启动失败的问题。错误日志显示sock文件未成功unlink,手动删除后又出现新的致命错误13347。进一步发现配置文件中设置的Master/slave模式在3.7.9版本不受支持,回退到3.6版本可能解决。最后,由于删除用户导致认证失败,需要通过可视化工具重新创建数据库和用户。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文章: MongoDB 3.0 安装笔记

直接tar包搬家的,解压后启动失败

1) 查看日志log/mongodb/mongod.log

2015-05-21T09:29:58.303+0800 I CONTROL  ***** SERVER RESTARTED *****
2015-05-21T09:29:58.341+0800 E NETWORK  [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
2015-05-21T09:29:58.341+0800 I -        [initandlisten] Fatal Assertion 28578
2015-05-21T09:29:58.341+0800 I -        [initandlisten] 

根据提示,应该是sock文件没有unlink成功,手动删除sock文件。

rm /tmp/mongodb-27017.sock

2) 又报错 

2018-10-22T12:27:27.032+0800 F -        [initandlisten] Fatal Assertion 13347 at src/mongo/db/repl/oplog.cpp 1620
2018-10-22T12:27:27.032+0800 F -        [initandlisten]

***aborting after fassert() failure

3)3.7.9版本报错不支持Master/slave

因为开发人员配置的配置文件mongodb.conf如下

port=27017
dbpath=/opt/aspire/product/mit/mongodb/data/db
logpath=/opt/aspire/product/mit/mongodb/log/logs.log
fork=true
#auth=true
#auth=false
bind_ip = 0.0.0.0
master=true
oplogSize=2048

报错内容如下

[aa@localhost bin]$ ./mongod -f mongodb.conf &
[1] 22352
[mit@localhost bin]$ 2018-10-22T13:07:43.768+0800 F CONTROL  [main] Master/slave replication is no longer supported

解决办法:回退到低版本3.6试下

4)ERROR: child process failed, exited with error number 51

Starting mongod... about to fork child process, waiting until server is ready for connections.
forked process: 19438
ERROR: child process failed, exited with error number 51
 mongod(_ZN5mongo19MmapV1ExtentManager4initEPNS_16OperationContextE+0x4A8) [0x1040278]
 mongod(_ZN5mongo26MMAPV1DatabaseCatalogEntryC1EPNS_16OperationContextENS_10StringDataES3_bb+0x187) [0x1036dc7]
 mongod(_ZN5mongo12MMAPV1Engine23getDatabaseCatalogEntryEPNS_16OperationContextENS_10StringDataE+0x14E) [0x103a1de]
 mongod(_ZN5mongo14DatabaseHolder6openDbEPNS_16OperationContextENS_10StringDataEPb+0x133) [0xac92a3]

-----  END BACKTRACE  -----

相关帖子https://stackoverflow.com/questions/43876592/error-child-process-failed-exited-with-error-number-51-mongodb

试了图一修改limits.conf感觉无效,

后来看了图2的办法,直接把测试环境的data里面的数据删除了(现网估计不能这么做,会丢失数据)。把用户都删除了,导致业务系统启动报错

 Exception authenticating MongoCredential{mechanism=null, userName='aaa', source='aaa', password=<hidden>, mechanismProperties={}}

 

赶紧通过可视化工具,去补一个database,和USER

右键:add database

选中新建的database,右键add user

 

网友的搬家方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值