问题一
还原报错:
[root@mongodb bin]# mongorestore -h 127.0.0.1:27017 -d runoob --directoryperdb /data/db/runoob
2022-12-19T19:47:23.909-0800 error parsing command line options: --dbpath and related flags are not supported in 3.0 tools.
See http://dochub.mongodb.org/core/tools-dbpath-deprecated for more information
2022-12-19T19:47:23.909-0800 try ‘mongorestore --help’ for more information
原因:在mongodb 3.0版本以后 还原备份文件时 指定备份路径不需要加参数 --dbpath 或 --directoryperdb
解决:去掉–directoryperdb
mongorestore -h 127.0.0.1:27017 -d runoob /data/db/runoob
问题二
还原报错:
[root@mongodb log]# mongorestore
2022-12-19T21:34:51.654-0800 using default ‘dump’ directory
2022-12-19T21:34:51.654-0800 see mongorestore --help for usage information
2022-12-19T21:34:51.654-0800 Failed: mongorestore target ‘dump’ invalid: stat dump: no such file or directory
原因:没有找到mongorestore命令
解决:该命令需要在/usr/mongodb/bin 目录下执行
问题三
启动报错:
[root@mongodb bin]# ./mongo
MongoDB shell version v4.0.0
connecting to: mongodb://127.0.0.1:27017
2022-12-19T21:57:36.129-0800 E QUERY [js] Error: couldn’t connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:251:13
@(connect):1:6
exception: connect failed
原因:
一般产生原因是mongodb由于不正常关闭产生了一个mongo.lock文件,只要找到并删除这个lock文件,执行repair命令并重新启动mongodb就好了.
mongod.lock路径一般是在mongo的存放地址中:/usr/mongodb/db/mongod.lock
解决:
删除mongod.lock文件:rm -rf mongod.lock
使用mongod命令修复:./mongod --repair
重新启动MongoDB:./bin/mongod --config mongodb.conf
进入MongoDB:./mongo
问题四
如果报如下错误:ERROR: child process failed, exited with error number 1
很可能是 mongodb.conf 中配置的路径不一致问题;
如果报如下错误:ERROR: child process failed, exited with error number 100
很可能是没有正常关闭导致的,那么可以删除 mongod.lock 文件
问题五
这个报错是我编写mongodb.service时发生的
[root@mongodb mongodb]# systemctl daemon-reload
[root@mongodb mongodb]# systemctl start mongodb.service
Job for mongodb.service failed because the control process exited with error code. See “systemctl status mongodb.service” and “journalctl -xe” for details.
分析:
一般产生这种报错的大概率是两种原因:
1.该服务脚本写的有问题,处理办法就是检查脚本,重点检查文件路径;
2.该服务正在启动,不能再次启动