오류 'mongo.js:L112 오류: src/mongo/shell/mongo.js의 서버 127.0.0.1:27017에 연결할 수 없습니다.L112'
MongoDB에 연결할 수 없습니다.우분투에서는 작동하지만, 저는 센트에서 일하고 있습니다.OS 이제 다음 오류 메시지입니다.
쉘 버전: MongoDB 파일: 2.4.2
대상: test 파일:
Sat 2007:22:09. JavaScript 파일: shell/mongo의 서버 1270.할 수 .src/mongo/shell/mongo.js의 서버 127.0.0.1:27017에 연결할 수 없습니다.L112
connect failed(연결 실패):
제거하려고 했습니다.mongod.lock
파일, 하지만 작동하지 않습니다.
Ubuntu를 실행하는 경우 폴더 소유권에 문제가 있습니다.
다음 명령을 실행합니다.
MongoDB 서비스를 중지합니다.
sudo service mongodb stop
MongoDB 잠금 파일 제거
sudo rm /var/lib/mongodb/mongod.lock
루트에서 MongoDB 경로로 소유권 변경
sudo chown -R mongodb:mongodb /var/lib/mongodb/
MongoDB 서비스 시작
sudo service mongodb start
mongo 응용 프로그램 테스트
mongo
그러면 당신은 성공적으로 실행할 수 있을 것입니다.
참조: 스택 Exchange 사이트 데이터베이스 관리자의 오류에 대한 응답: 서버 127.0.0.1:27017 src/mongo/shell/mongo에 연결할 수 없습니다.js:mongodb 데이터 디렉토리를 변경할 때 91!
/var/lib/mongodb/mongod.lock을 제거하고 mongdo 서비스를 다시 시작해 보십시오.
sudo rm /var/lib/mongodb/mongod.lock
sudo service mongodb restart
이 방법은 원본 파일을 보존하지 않고 데이터 파일을 복구하려는 경우에만 사용할 수 있습니다.dbpath가 있는 위치를 찾으려면 다음을 사용합니다.
vim /etc/mongodb.conf
옵인을 합니다.dbpath=
.
(나는 가지고 있습니다.dbpath=/var/lib/mongodb
.)
기값:/data/db/
일반적인 위치는 다음과 같습니다./srv/mongodb
,/var/lib/mongodb
또는/opt/mongodb
.
/var/lib/mongodb를 dbpath로 바꿉니다.
sudo rm /var/lib/mongodb/mongod.lock
sudo mongod --dbpath /var/lib/mongodb/ --repair
sudo mongod --dbpath /var/lib/mongodb/ --journal
위의 라인을 실행한 터미널을 실행한 상태로 두어야 합니다.+를 누르거나 종료하지 마십시오.)시작할 명령 입력mongo
지금 다른 창문에 있습니다.
이것이 당신에게 효과가 있기를 바랍니다!원본 파일을 보존하면서 데이터 파일을 복구하려는 사용자는 복구를 참조하십시오.
저도 예전에 같은 문제가 있었습니다.저의 경우 저널 파일을 저장할 여유 공간이 부족했습니다.약간의 공간을 확보한 것이 문제를 해결했습니다.
저도 같은 문제에 직면했습니다.mongod in bin(mongodb가 설치된 곳)에서 mongod를 실행하는 것이 저에게 효과가 있었습니다.저는 또한 공간이 부족했습니다.
@lkrziyak 답변이 다운된 이유를 모르겠습니다. 저에게는 효과가 있었습니다! 사용 가능한 공간이 부족하면 오류의 원인이 될 수 있습니다. 제가 받은 로그를 참조하십시오.
Mon Aug 12 17:02:59.159 [initandlisten] recover : no journal files present, no recovery needed
Mon Aug 12 17:02:59.159 [initandlisten]
Mon Aug 12 17:02:59.159 [initandlisten] ERROR: Insufficient free space for journal files
Mon Aug 12 17:02:59.159 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
Mon Aug 12 17:02:59.159 [initandlisten]
Mon Aug 12 17:02:59.159 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
Mon Aug 12 17:02:59.159 dbexit:
Mon Aug 12 17:02:59.159 [initandlisten] shutdown: going to close listening sockets...
약간의 공간을 확보하기 위해 청소를 한 후, 그것은 매력적으로 작동했습니다!
/etc/mongo.conf에서 mongoDB의 기본 포트를 변경한 경우에도 이 오류가 발생합니다.
이 경우 셸을 통해 연결하려면 다음을 사용합니다.
$mongo 127.0.0.1:your_new_port_number
OR
$mongo -u <user> -p <pass> --host <host> --port your_new_port_number
MongoDB 문서에서
$PATH와 권한 문제의 조합일 수 있습니다.
다음 단계를 수행해 보십시오.
MongoDB bin 파일을 가리키도록 $PATH 변수를 업데이트합니다.내 경우 brew는 다음 폴더에 MongoDB를 설치합니다.
/usr/local/Cellar/mongodb/2.4.6/
$PATH 변수를 업데이트하려면 다음을 수행합니다.
$ sudo vi /etc/paths
그런 다음 'i'를 눌러 Vi에 텍스트를 삽입하고 MongoDB 경로를 'paths' 파일의 끝에 추가하고 터미널을 다시 시작합니다.
/usr/local/Cellar/mongodb/2.4.6/bin
'Esc : wq'를 사용하여 Vi 편집기를 저장하고 종료합니다.
에코를 사용하여 경로 변수를 표시합니다.
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/Cellar/mongodb/2.4.6/bin
이제 Mongo 버전을 확인해 보십시오. 만약 당신이 팔로우하고 있다면, 당신은 올바른 방향으로 가고 있습니다!
$ mongo --version
MongoDB shell version: 2.4.6
이제 데이터베이스 디렉토리를 만들어야 합니다.MongoDB 문서에 제안된 기본 '/data/db' 위치를 사용했습니다.또한 Mongo가 로그를 생성하는 동안 권한 문제를 방지하기 위해 로그 디렉터리를 만들었습니다.소유권을 변경하면 작업이 수행됩니다.
$ sudo mkdir /data/db
$ sudo mkdir /data/log
$ whoami
username
$ chown -R username /data
이제 'mongod' 명령을 처음 실행할 때 제공되는 MongoDB의 기본 구성 파일을 생성하겠습니다.이제, 저는 'mongod'가 수신 데이터 연결을 수신하는 서비스를 시작할 것이라는 점도 지적하고 싶습니다.이는 '$service mysqld start'를 실행하는 것과 유사합니다.그럼 구성 파일을 생성해 보겠습니다.제가 매우 기본적인 구성 파일을 작성했다는 것을 기억해주시기 바랍니다.그러나 MongoDB를 구성하기 위해 다른 많은 변수를 추가할 수 있습니다.MongoDB를 가지고 노는 것은 이번이 처음이기 때문에 MongoDB 문서에서 읽은 만큼만 알고 있습니다.'mongodb.conf'를 만들었습니다.
$ sudo vi /etc/mongodb.conf
다음을 추가합니다.
fork = true
port = 27017
quiet = true
dbpath = /data/db
logpath = /data/log/mongod.log
logappend = true
journal = true
MongoDB 서버의 기본 포트는 27017입니다.– 5단계에서 작성한 dbpath 및 로그 경로에 사용자 고유의 경로를 사용합니다.conf 파일을 닫고 저장하는 것을 잊지 마십시오.
이제 MongoDB 서비스를 시작할 준비가 모두 되었습니다.터미널의 두 인스턴스를 엽니다.터미널 1에 다음을 입력합니다.
$ sudo mongod -f /etc/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 3516
all output going to: /data/log/mongod.log
child process started successfully, parent exiting
위의 메시지가 표시되면 Mongod 서비스를 성공적으로 시작했음을 확인하십시오.
이제 연결하려면 터미널 2에 다음을 입력합니다.
$mongo test
MongoDB shell version: 2.4.6
connecting to: test
Server has startup warnings:
Tue Sep 3 16:55:43.527 [initandlisten]
Tue Sep 3 16:55:43.527 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
>
경고를 무시하지만 '테스트' 데이터베이스에 성공적으로 연결되었습니다!멋지네요!
이상입니다.제가 처음으로 Mac에 MongoDB 복사본을 설치하려고 했을 때 이 솔루션을 적용했습니다.이것도 도움이 되는지 보세요.
자세한 게시물은 여기에서 확인할 수 있습니다. - http://arcanebytes.com/2013/09/03/mongodb-installation-on-mac-os-x/ #http://- -1036112094.
도움이 되길 바랍니다!
건배, 친메이
언급URL : https://stackoverflow.com/questions/16120397/errr-mongo-jsl112-error-couldnt-connect-to-server-127-0-0-127017-at-src-mon
'programing' 카테고리의 다른 글
Git를 사용하여 원격 분기 자동 추적 (0) | 2023.06.21 |
---|---|
python에서 문자열을 변수 이름으로 변환 (0) | 2023.06.21 |
NSA sert의 요점이 뭐죠? (0) | 2023.06.21 |
WooCommercommercommerce:고객 계정 페이지에 사용자 정의 템플릿 추가 (0) | 2023.06.21 |
Excel VBA - 동적 배열 수식을 추가하는 방법 (0) | 2023.06.21 |