Không kết nối được với 127.0.0.1:27017, lý do: errno: 111 Kết nối bị từ chối


81

trong khi thử lệnh mongo này trong ubuntu, tôi gặp lỗi này.

    ritzysystem@ritzysystem-Satellite-L55-A:~$ mongo
    MongoDB shell version: 2.6.1
    connecting to: test
    2014-10-06T12:59:35.802+0530 warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
    2014-10-06T12:59:35.802+0530 Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146
    exception: connect failed

làm thế nào tôi có thể khắc phục điều này là bất cứ ai có cùng một vấn đề.


6
mongodmáy chủ không chạy, hãy bật nó lên bằng cách gõ mongodvào thiết bị đầu cuối.
Ravi

2
Mongod của bạn không chạy trên 127.0.0.1 Bạn có thể thử như thế này "Mongo --host localhost"
Lalit Agarwal

1
cảm ơn mọi người Tôi đã thử chạy mongo nó không chạy cuối cùng tôi thấy không có dung lượng trong đĩa cứng của mình, tôi đã làm trống một số dung lượng và cuối cùng cài đặt lại nó theo quy trình cài đặt tương tự như sau để cài đặt như trong mongodb docs cuối cùng khởi động lại máy chủ và nó đang chạy. docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu
Ashish Ranjan

4
bạn có thể trả lời câu hỏi của riêng bạn (thay vì đăng bình luận). Các giải pháp sẽ được rõ ràng hơn và nó sẽ giúp đỡ người khác
Mihai

Câu trả lời:


98

Chạy lệnh sau:

sudo rm /var/lib/mongodb/mongod.lock
sudo service mongod restart

Kết nối bị từ chối với MongoDB errno 111

Hệ điều hành Mac:

rm /usr/local/var/mongodb/mongod.lock  
sudo service mongod restart

trên Ubuntu: mongod thay vì MongoDB
Blacksonic

6
Sau khi chạy sudo dịch vụ mongod restart trên Ubuntu:Job for mongod.service failed. See "systemctl status mongod.service" and "journalctl -xe" for details.
Flavio Wuensche

4
không có mongodbtrong/var/lib/
RegarBoy

1
chạy mongodthay vì
Iman Mohamadi

Chạy hoàn hảo trên Ubuntu Server 16.04.1 LTS
Cami Rodriguez

29

Tôi đã gặp vấn đề tương tự trên Mac OS Hãy thử chạy sudo mongod và trong tab đầu cuối mới chạy mongo


Tôi đã phải chạy mongovới sudo cũng
Tomasz Mularczyk

22

cảm ơn mọi người Tôi đã thử chạy mongo nó không chạy cuối cùng tôi thấy không có dung lượng trong đĩa cứng của mình, tôi đã làm trống một số dung lượng và cuối cùng cài đặt lại nó theo quy trình cài đặt tương tự như sau để cài đặt như trong mongodb docs cuối cùng khởi động lại máy chủ và nó đang chạy.

https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu


Tôi không biết tại sao bạn được cài đặt lại. Tôi nghĩ rằng nó đủ để giải phóng một số không gian bằng cách xóa các tệp không mong muốn và sau đó bạn có thể muốn khởi động lại dịch vụ mongod, vì dịch vụ mongod có thể bị giết do không có dung lượng. có lý do cụ thể nào để cài đặt lại không ?.
Siva S

18

Trong trường hợp của tôi, lỗi là do thiếu thư mục / data / db mà mongodb sử dụng để lưu trữ dữ liệu của bạn. Vui lòng nhập lệnh này $sudo mongod vào thiết bị đầu cuối của bạn. Nếu thông báo lỗi như sau:

missing data/db folder error

Chỉ cần tạo thư mục và bạn đã sẵn sàng.


Kỳ lạ là nó không được tạo tự động.
basickarl

tạo dữ liệu directroy / db trong thư mục gốc, hiện đang hoạt động tốt.
vidur punj

Lưu ý: cũng đừng quên cấp quyền cho thư mục. mkdir /data/dbsau đóchmod 777 /data/db
AndreFeijo

11

Đầu tiên, khởi động MongoDB:

sudo service mongod start

Sau đó, Chạy:

mongo

9

Có thể là bạn không có dung lượng trong ổ cứng. Kiểm tra nó bằng cách gõ vào quảng cáo df -h

Xin lưu ý rằng mongo có thể không thành công ngay cả với 3gb có sẵn trong phân vùng tương ứng. Để biết chi tiết, bạn có thể muốn kiểm tra nhật ký:cat /var/log/mongodb/mongod.log


"mongodb.log" có lỗi đánh máy và được viết là "mongod.log". Tôi đã cố chỉnh sửa nhưng stackoverflow nói với tôi rằng tôi phải chỉnh sửa ít nhất 6 ký tự. Ý tưởng tồi imo SO.
Robert Bracco

8

Tôi đã gặp vấn đề tương tự trên máy Mac của mình và tôi đã cài đặt mongodb qua homebrew. Tôi giải quyết vấn đề này bằng lệnh homebrew services .

Đầu tiên hãy bắt đầu dịch vụ mongodb:

$ brew services start mongodb

Khởi động thiết bị đầu cuối mongodb

$ mongo

Dừng dịch vụ mongodb:

$ brew services stop mongodb


7

Đảm bảo rằng bạn đã chạy Dịch vụ của MongoDB trước khi muốn kết nối bảng điều khiển.

chạy và khởi động máy chủ:

$ sudo mongod

sau đó:

$ mongo
...
>

5

Làm cái này:

sudo rm /var/lib/mongodb/mongod.lock
sudo service mongod restart

Nếu bạn đang sử dụng Ubuntu 16.04, bạn có thể tìm ra điều này bằng cách chạy:

lsb_release -a

Bạn cần Tạo một tệp mới tại /lib/systemd/system/mongod.servicevới các nội dung sau:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

4

Trong trường hợp của tôi, sự cố là do mất quyền rõ ràng đối với tệp mongodb.lock. Tôi có thể giải quyết vấn đề khi thay đổi quyền bằng lệnh sau:

sudo chown mongodb:mongodb /var/lib/mongodb/mongodb.lock

Sau cuộc điều tra của tôi: xác minh từng bước


4

Tôi nghĩ ngoại trừ dung lượng ổ đĩa Issuse, bạn nên kiểm tra đăng nhập /var/log/mongodbđể biết chi tiết tại sao mongodb khởi động không thành công.

cat /var/log/mongodb/mongod.log

2016-06-26T15:26:26.642+0800 I CONTROL  [main] ***** SERVER RESTARTED *****
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] MongoDB starting : pid=8130 port=27017 dbpath=/var/lib/mongodb 64-bit host=hadoop-master
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] db version v3.2.7
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] git version: 4249c1d2b5999ebbf1fdf3bc0e0e3b3ff5c0aaf2
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] modules: none
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] build environment:
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten]     distmod: ubuntu1404
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten]     distarch: x86_64
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten]     target_arch: x86_64
2016-06-26T15:26:26.649+0800 I CONTROL  [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1,192.168.3.10", port: 27017 }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2016-06-26T15:26:26.678+0800 E NETWORK  [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted
2016-06-26T15:26:26.678+0800 I -        [initandlisten] Fatal Assertion 28578
2016-06-26T15:26:26.678+0800 I -        [initandlisten] 

***aborting after fassert() failure

Vì vậy, ở đây tôi cần rm tất cả các tệp trong /tmp. Điều đó làm việc tốt cho tôi.



3

Trong trường hợp của tôi, bind_ip không phải là 127.0.0.1 trong tệp /etc/mongodb.conf, vì vậy hãy thay đổi bind_ip thành 127.0.0.1 (nó có thể là các giá trị được phân tách bằng dấu phẩy nên hãy đảm bảo 127.0.0.1 là một trong số chúng) Sau đó khởi động lại hệ thống của bạn để có hiệu lực. Chỉ khởi động lại với những người đang gặp phải

$sudo service mongod restart
Failed to restart mongod.service: Unit mongod.service not found.

3

Đối với mongo v3.6.3 + (hoặc các phiên bản 2019)

rm /var/lib/mongodb/mongod.lock
service mongodb restart

1

rất đơn giản, chỉ xóa một tập tin /var/lib/mongodb/mongodb.lock. sau khi chỉ thực hiện: mongo. đã kết thúc


1

Có thể thư mục dữ liệu cho mongo được chỉ định trong /etc/mongod.confkhông phải là một đường dẫn hợp lệ.

Hãy thử kiểm tra lại đường dẫn nếu nó thực sự tồn tại sudo vi /etc/mongod.confvà kiểm tra dbPath.


1

Tôi có cùng một lỗi với bạn, đây là trường hợp của tôi:

~# mongod
2018-07-15T05:27:08.265+0000 I JOURNAL  [initandlisten] journal dir=/data/db/journal
2018-07-15T05:27:08.265+0000 I JOURNAL  [initandlisten] recover : no journal files present, no recovery needed
2018-07-15T05:27:08.301+0000 I JOURNAL  [durability] Durability thread started
2018-07-15T05:27:08.301+0000 I JOURNAL  [journal writer] Journal writer thread started
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] MongoDB starting : pid=26796 port=27017 dbpath=/data/db 64-bit host=ubuntu-s-2vcpu-4gb-sfo2-01
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] 
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] 
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] 
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] db version v3.0.6
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] git version: 1ef45a23a4c5e3480ac919b28afcba3c615488f2
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] build info: Linux build6.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
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] allocator: tcmalloc
2018-07-15T05:27:08.302+0000 I CONTROL  [initandlisten] options: {}
2018-07-15T05:27:08.308+0000 I NETWORK  [initandlisten] waiting for connections on port 27017

Tôi gõ mongod để khởi động máy chủ và tôi gõ control+ cđể thoát ra shell

sau đó tôi gõ mongovà tôi nhận được

~# mongo
MongoDB shell version: 3.0.6
connecting to: test
2018-07-15T05:05:02.738+0000 W NETWORK  Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2018-07-15T05:05:02.739+0000 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

Như bạn có thể thấy, thông tin lỗi của tôi giống với bạn.

Đây là trường hợp mongod không bắt đầu với quy trình phụ trợ, khi tôi nhập control+ ctôi thoát mongod.

Chúng ta có thể thêm --fork args để tạo quá trình daemon process.

#  mongod --logpath /usr/local/mongodb/log.txt --fork

bạn phải đặt --logpath nếu bạn muốn sử dụng --fork

thì bạn sẽ thành công khi kết nối với mongo


1

Làm theo các bước đơn giản sau; (Hoạt động trên MAC OS)

  1. Mở thiết bị đầu cuối và chạy sudo mongod

  2. Mở tab đầu cuối mới (Không đóng tab bước 1) và chạy sudo mongo

Đó là tất cả


0

Mongo 3. *. * - OSX - 2017

Từ README

RUNNING

Thay đổi thư mục thành mongodb-osx-x86_64-3. *. * / Bin

Để chạy một cơ sở dữ liệu máy chủ:

$ mkdir /data/db
$ ./mongod

Đi đến Nhà ga mới

$ # The mongo javascript shell connects to localhost and test database 
$ # by default -Run the following command in new terminal
$ ./mongo 
> help

Tại sao lại ủng hộ? đây là cách bạn nên làm ?? !!
Mina Gabriel

0

Tôi đã giải quyết điều đó đơn giản bằng cách nhập sudo mongosau mongodlệnh.



0

Chỉ là một số suy nghĩ về trường hợp của tôi.

Nếu bạn đã thay đổi các dirs dbPath và logPath thành các giá trị tùy chỉnh của mình (giả sử / data / mongodb / data, / data / mongodb / log), bạn phải cắt chúng cho người dùng mongodb, nếu không, không tồn tại / data / db / dir sẽ được sử dụng.

sudo chown -R mongodb:mongodb /data/mongodb/

sudo service mongod restart

0

Có những thay đổi trong tệp mongod.conf trong MongoDB v 3.6.5 + mới nhất

Đây là cách tôi khắc phục sự cố này trên mac os High Sierra v 10.12.3

Lưu ý: Tôi giả sử rằng bạn đã cài đặt / nâng cấp MongoDB bằng homebrew

mongo --version

MongoDB shell version v3.6.5 
git version: a20ecd3e3a174162052ff99913bc2ca9a839d618 
OpenSSL version: OpenSSL 1.0.2o  27 Mar 2018 
allocator: system modules: none build environment:
distarch: x86_64
target_arch: x86_64
  1. tìm tệp mongod.conf

     sudo find / -name mongod.conf` 
    

    /usr/local/etc/mongod.conf> kết quả đầu tiên.

  2. mở tệp mongod.conf

    sudo vi /usr/local/etc/mongod.conf
    
  3. chỉnh sửa trong file cho truy cập từ xa dưới ròng: phần

     port: 27017  
     bindIpAll: true 
     #bindIp: 127.0.0.1 // comment this out
    
  4. khởi động lại mongodb

    nếu bạn đã cài đặt bằng cách sử dụng bia hơn

    brew services stop mongodb
    
    brew services start mongodb
    

nếu không, giết quá trình.

   sudo kill -9 <procssID>

1
Gửi người đọc câu trả lời này: CẨN THẬN! Trừ khi tôi nhầm lẫn, việc bình luận bindIpsẽ hiển thị cơ sở dữ liệu của bạn trên mạng internet mở trừ khi bạn đã bật quyền (theo mặc định, nó không được bật).

0

Vấn đề là với kết nối với cơ sở dữ liệu, nó có thể là do một số lý do. Đối với tôi, đó là dung lượng ổ đĩa thấp trên máy chủ của tôi và khi mongo cố gắng kết nối nó từ chối vì đĩa thấp, hãy kiểm tra bộ nhớ cục bộ máy chủ của bạn du -shnếu bạn có dung lượng lưu trữ thấp, kiểm tra kích thước nhật ký của bạn và thực hiện từng bước phù hợp, sự cố có thể tồn tại vì dbpath mâu thuẫn trong /etc/mongod.confvà máy chủ thực sự chạy dbpath với mongod Nếu bạn đang gặp phải loại vấn đề như vậy, vui lòng kiểm tra câu trả lời của tôi trong liên kết nhất định bên dưới. https://stackoverflow.com/a/53057695/8247133


0

Tôi gặp phải vấn đề tương tự, vì vậy hãy kiểm tra xem có thư mục mongodb không, trước tiên hãy thử xóa thư mục đó

rm -rf /var/lib/mongodb/*

Bây giờ hãy thử khởi động mongo và nếu vấn đề tương tự thì tệp khóa mongodb của nó ngăn không cho khởi động mongo, vì vậy hãy xóa tệp khóa mongo

rm /var/lib/mongodb/mongod.lock

Đối với rm -rf /var/lib/mongodb/mongod.lock

dịch vụ mongodb khởi động lại nếu đã ở chế độ sudo nếu không bạn cần sử dụng như sudo service mongod start

hoặc bạn có thể khởi động máy chủ bằng phương pháp fork

mongod --fork --config /etc/mongod.conf

và để xem nó có bị phân nhánh giống nhau không, vui lòng kiểm tra bằng cách sử dụng lệnh dưới đây

ps aux | grep mongo

0

Đối với những người có Windows. Tôi đã gặp vấn đề tương tự trên Windows. Khởi động lại dịch vụ Mongodb giải quyết điều này.

Sau đây là các bước để khởi động lại trên Windows:

Tôi). Đi tới "Dịch vụ" trên Windows.

ii). Tìm kiếm "MongoDB" trong danh sách dịch vụ.

iii). Nhấp chuột phải vào "start" / "restart" tùy thuộc vào trạng thái của bạn.

iv). Sau khi trạng thái chuyển sang "đang chạy", hãy kiểm tra xem sự cố có được giải quyết hay không bằng cách chạy "Mongo" hoặc kết nối ứng dụng Mongo của bạn.


0

Đối với macOSnhiều câu trả lời đã lỗi thời theo tài liệu chính thức . Bằng cách nào đó, nó brewđã thay đổi và cách chúng ta nên cài đặt MongoDB, trước tiên hãy gỡ cài đặt nó khỏi của bạn macOS(mặc dù nó có thể không cần thiết) và sau đó cài đặt nó bằng các bước sau:

  1. brew tap mongodb/brew
  2. brew install mongodb-community@4.4
  3. brew services start mongodb-community@4.4

Hãy để ý 4.4một phần, nó sẽ thay đổi. Nếu trong tương lai, nó bị hỏng thì hãy tham khảo tài liệu chính thức và cài đặt phiên bản, được đề xuất trong hướng dẫn được liên kết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.