[MONGODB] 기계 IP를 사용하여 MongoDB를 연결할 수 없습니다
MONGODB기계 IP를 사용하여 MongoDB를 연결할 수 없습니다
사제를 사용하여 몽고 설치됩니다. 내가 쉘에 몽고 입력하면, 그것은 시험에 연결됩니다. 하지만 로컬 컴퓨터의 IP 주소를 입력하는 대신 127.0.0.1 때
mongo --host 192.168.1.100 --verbose
그것은 나에게 오류 메시지를 제공합니다
MongoDB shell version: 2.4.6
Fri Aug 23 15:18:27.552 versionArrayTest passed
connecting to: 192.168.1.100:27017/test
Fri Aug 23 15:18:27.579 creating new connection to:192.168.1.100:27017
Fri Aug 23 15:18:27.579 BackgroundJob starting: ConnectBG
Fri Aug 23 15:18:27.580 Error: couldn't connect to server 192.168.1.100:27017 at src/mongo/shell/mongo.js:147
Fri Aug 23 15:18:27.580 User Assertion: 12513:connect failed
유무는 bind_ip을 주석 또는 127.0.0.1에서 0.0.0.0하지만 행운에 IP 주소를 변경하여 mongo.conf를 수정했습니다. 이것은 간단하지만 지금은 단서가 없습니다. Mac을 사용.
감사
업데이트 : 요청으로. 당신이 제안 내가 변경 한 후이 작동합니다.
ifconfig를 출력
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_HWTAGGING>
ether XX:XX:XX:
media: autoselect (none)
status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether XX:XX:XX:XX:01
inet6 XXXX:XXXX:XXXX: %en1 prefixlen 64 scopeid 0x5
inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
media: autoselect
status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
ether XX:XX:XX:XX:XX
media: autoselect
status: inactive
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 4078
lladdr XX:XX:XX:XX
media: autoselect <full-duplex>
status: inactive
출력 명령을 실행할 때 몽고 --host 192.168.1.100 --verbose
MongoDB shell version: 2.4.5
Fri Aug 23 16:42:09.806 versionArrayTest passed
connecting to: 192.168.1.100:27017/test
Fri Aug 23 16:42:09.837 creating new connection to:192.168.1.100:27017
Fri Aug 23 16:42:09.837 BackgroundJob starting: ConnectBG
Fri Aug 23 16:42:10.129 connected connection!
Server has startup warnings:
Fri Aug 23 16:41:59.025 [initandlisten]
Fri Aug 23 16:41:59.025 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
파일 mongod.conf
# Store data in /usr/local/var/mongodb instead of the default /data/db
dbpath = /usr/local/var/mongodb
# Append logs to /usr/local/var/log/mongodb/mongo.log
logpath = /usr/local/var/log/mongodb/mongo.log
logappend = true
# Only accept local connections
bind_ip = 0.0.0.0`
해결법
-
==============================
1.당신은 바인드 주소를 변경하면 난 그냥 브루 내 Mac에서이 테스트, 잘 작동합니다. 나는 당신이 아마 바인드 올바른에 대한 설정을하지 않았다 의심?
당신은 바인드 주소를 변경하면 난 그냥 브루 내 Mac에서이 테스트, 잘 작동합니다. 나는 당신이 아마 바인드 올바른에 대한 설정을하지 않았다 의심?
우리 모두가 정보를 가지고 그냥 그래서, 당신은 제발은 ifconfig의 출력을 붙여 넣을 수 있습니다?
기본적으로 MongoDB를하지만, 브루 설정이 (/usr/local/etc/mongod.conf를) 대체 할 것 같다 당신은 구성을 변경할 필요가 없습니다, 모든 인터페이스에서 수신한다 :
# Only accept local connections bind_ip = 127.0.0.1
MongoDB를 죽이고이 (주에게 -v)을 실행하십시오 :
$ mongod --bind_ip 0.0.0.0 -v warning: bind_ip of 0.0.0.0 is unnecessary; listens on all ips by default all output going to: /usr/local/var/log/mongodb/mongo.log
다만 그것을 위해 당신의 출력을하시기 바랍니다 붙여?
그리고 단지 시도 :
$ mongo --host 192.168.43.2 --verbose MongoDB shell version: 2.4.6 Sat Aug 24 09:07:14.556 versionArrayTest passed connecting to: 192.168.43.2:27017/test Sat Aug 24 09:07:14.657 creating new connection to:192.168.43.2:27017 Sat Aug 24 09:07:14.657 BackgroundJob starting: ConnectBG Sat Aug 24 09:07:14.657 connected connection! Server has startup warnings: Sat Aug 24 09:06:44.360 [initandlisten] Sat Aug 24 09:06:44.360 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 >
분명히 당신의 IP 주소로 대체합니다. 우리가 어떻게되는지 알려주세요.
-
==============================
2.아니 당신이 어떤 IP에서 나머지 인터페이스에 액세스하려면 사실, 당신이 mongod.conf에서 0.0.0.0로하지 세트 bind_ip 필요 만 댓글과 유사한, 그것은에서 구성 항목을 제거
아니 당신이 어떤 IP에서 나머지 인터페이스에 액세스하려면 사실, 당신이 mongod.conf에서 0.0.0.0로하지 세트 bind_ip 필요 만 댓글과 유사한, 그것은에서 구성 항목을 제거
#bind_ip=127.0.0.1
그리고, 서비스를 다시 시작, 당신은 당신이 당신의 시스템에서 28017 포트에서 나머지 서비스에 액세스 할 수 있는지 찾을 수 있습니다
-
==============================
3.성공:
성공:
# network interfaces (wjp: comment bindIp listening on all IPs) net: port: 27017 # bindIp: 127.0.0.1 bindIp: 0.0.0.0
-
==============================
4.참고 : 구성 창 10입니다 아래 MongoDB를 4.0
참고 : 구성 창 10입니다 아래 MongoDB를 4.0
이 두 가지 방법으로 구성 할 수 있습니다.
쉘 명령을 사용하여
먼저 관리자로 cmd를 열고 --YourPath로 이동 - \ MongoDB를 \ 서버 \ 4.0 \ 빈
주의 :이 IP 구성은 네트워크를 통해 사용자의 DB에 액세스 할 수 있습니다.
mongod.cfg 통해
MongoDB를 여기 구성을위한 아주 좋은 문서가있다.
그냥 bindIp을 변경 : 127.0.0.1 bindIp에 : 0.0.0.0은. 그런 다음 위의 주제에서 # 3 점을 사용하여 서비스를 다시 시작합니다.
-
==============================
5.사실 (자세한 내용은 http://docs.mongodb.org/manual/reference/configuration-options/ 참조) 나를 위해 내가 bindIpAll와 bindIp를 교체했다.
사실 (자세한 내용은 http://docs.mongodb.org/manual/reference/configuration-options/ 참조) 나를 위해 내가 bindIpAll와 bindIp를 교체했다.
이건 내 mongod.conf 파일의 내용이다.
# mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # Where and how to store data. storage: dbPath: /var/lib/mongodb journal: enabled: true # engine: # mmapv1: # wiredTiger: # where to write logging data. systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log # network interfaces net: port: 27017 # bindIp: 127.0.0.1 bindIpAll: true # how the process runs processManagement: timeZoneInfo: /usr/share/zoneinfo #security: #operationProfiling: #replication: #sharding: ## Enterprise-Only Options: #auditLog: #snmp:
from https://stackoverflow.com/questions/18412850/cannot-connect-to-mongodb-using-machine-ip by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 몽고와 동시에 풀과 addtoset (0) | 2019.12.15 |
---|---|
[MONGODB] 어떻게하여 MongoDB의 하위 문서의 모든 필드를 요약하는? (0) | 2019.12.15 |
[MONGODB] MongoDB를 Linq에 거기에 "쿼리 설명"인가? (0) | 2019.12.15 |
[MONGODB] 어떻게 효율적으로 몽고에서의 요청에 의한 문서를 삭제하려면? (0) | 2019.12.15 |
[MONGODB] 유성 및 섬유 / bindEnvironment ()와 함께 무슨 일이야? (0) | 2019.12.15 |