0%

[mongo] couldn't connect to server 127.0.0.1:27017

错误排查#

1
2
3
4
5
6
7
8
# mongo
MongoDB shell version: 3.0.12
connecting to: test
2021-04-06T10:58:44.862+0800 W NETWORK Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2021-04-06T10:58:44.864+0800 E QUERY Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed
at connect (src/mongo/shell/mongo.js:179:14)
at (connect):1:6 at src/mongo/shell/mongo.js:179
exception: connect failed

这个错误是由于mongo shell不能与mongod server通信,可能的原因有: - mongod server没启动 - ip和端口不正确

查看进程是否启动

1
ps aux|grep mongo
果然没有启动,尝试启动
1
2
3
4
5
6
7
8
9
# mongod --dbpath /var/lib/mongodb/ --repair
2021-04-06T10:53:01.376+0800 I CONTROL [initandlisten] MongoDB starting : pid=12221 port=27017 dbpath=/var/lib/mongodb/ 64-bit host=g37-dev-acfd361f
2021-04-06T10:53:01.376+0800 I CONTROL [initandlisten] db version v3.0.12
2021-04-06T10:53:01.376+0800 I CONTROL [initandlisten] git version: 33934938e0e95d534cebbaff656cde916b9c3573
2021-04-06T10:53:01.376+0800 I CONTROL [initandlisten] build info: Linux build14.ny.cbi.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2021-04-06T10:53:01.376+0800 I CONTROL [initandlisten] allocator: tcmalloc
2021-04-06T10:53:01.376+0800 I CONTROL [initandlisten] options: { repair: true, storage: { dbPath: "/var/lib/mongodb/" } }
2021-04-06T10:53:01.400+0800 I STORAGE [initandlisten] exception in initAndListen: 98 Unable to create/open lock file: /var/lib/mongodb/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
2021-04-06T10:53:01.401+0800 I CONTROL [initandlisten] dbexit: rc: 100
这是因为权限不够,用 stat 查看
1
2
3
4
5
6
7
8
9
# stat /var/lib/mongodb
File: ‘/var/lib/mongodb’
Size: 60 Blocks: 0 IO Block: 4096 directory
Device: fd00h/64768d Inode: 1235426 Links: 4
Access: (0755/drwxr-xr-x) Uid: ( 505/ mongodb) Gid: ( 505/ mongodb)
Access: 2021-04-06 10:49:04.428179272 +0800
Modify: 2021-04-06 10:48:40.036107174 +0800
Change: 2021-04-06 10:48:40.036107174 +0800
Birth: -
仅mongodb用户可读可写

solution 1:修改路径#

1
2
mongod --dbpath /home/liuwen03/mongo/ --repair
mongod --dbpath /home/liuwen03/mongo/ --journal

solution 2:修改文件权限#

sudo chmod ... # need to do

reference#

  1. stackoverflow mongo
  2. Unable to create/open lock file: /data/mongod.lock errno:13 Permission denied