내 우분투에서 mongodb를 설정할 때 시도합니다. ./mongo이 오류가 표시됩니다.
couldn't connect to server 127.0.0.1 shell/mongo.js
그래서 내가 무엇을 할 수 있니 ,
감사
답변:
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
다음 사항에 유의하십시오.
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo service mongodb start
때때로 이러한 작업을 수행 한 후 mongo를 시작하는 데 약간의 시간이 걸립니다.
Mon Aug 22 11:28:17.919 Can't specify both --journal and --repair options.
$ mongod 실행 시도
다음과 같은 오류가 발생하면
MongoDB shell version: 2.0.5
connecting to: test
Fri Jun 1 11:20:33 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed
hisham-agil:~ hisham$ mongod
mongod --help for help and startup options
Fri Jun 1 11:24:47 [initandlisten] MongoDB starting : pid=53452 port=27017 dbpath=/data/db/ 64-bit host=hisham-agil.local
Fri Jun 1 11:24:47 [initandlisten] db version v2.0.5, pdfile version 4.5
Fri Jun 1 11:24:47 [initandlisten] git version: nogitversion
Fri Jun 1 11:24:47 [initandlisten] build info: Darwin gamma.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:48:32 PST 2012; root:xnu-1699.24.23~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_49
Fri Jun 1 11:24:47 [initandlisten] options: {}
Fri Jun 1 11:24:47 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db/) does not exist, terminating
Fri Jun 1 11:24:47 dbexit:
Fri Jun 1 11:24:47 [initandlisten] shutdown: going to close listening sockets...
Fri Jun 1 11:24:47 [initandlisten] shutdown: going to flush diaglog...
Fri Jun 1 11:24:47 [initandlisten] shutdown: going to close sockets...
Fri Jun 1 11:24:47 [initandlisten] shutdown: waiting for fs preallocator...
Fri Jun 1 11:24:47 [initandlisten] shutdown: lock for final commit...
Fri Jun 1 11:24:47 [initandlisten] shutdown: final commit...
Fri Jun 1 11:24:47 [initandlisten] shutdown: closing all files...
Fri Jun 1 11:24:47 [initandlisten] closeAllFiles() finished
Fri Jun 1 11:24:47 dbexit: really exiting now
그런 다음 매우 일반적인 기본 시작 오류가 발생했습니다.
기본적으로 mongod는 데이터베이스 파일에 / data / db를 사용하려고 시도합니다.이 경우 존재하지 않는 파일입니다.
시작할 수 없습니다
mongo
당신이 처리 할 때까지
mongod.
해당 디렉토리를 생성하고 mongod 프로세스를 실행하는 동일한 사용자가 쓸 수 있는지 확인하십시오.
** 비슷한 질문을 참조하십시오 . "오류 : 서버 127.0.0.1 shell / mongo.js에 연결할 수 없습니다"및 Mac OSX Lion에서 mongodb를 실행하려고 할 때 오류 발생
이것은 실제로 오류가 아닙니다. 여기서 일어나는 일은 Mongo 가 로컬 데이터베이스 서버를 실행하기 위해 데몬 에 의존한다는 것입니다. 따라서 쉘에서 mongo 서버 를 "실행" 하려면 mongo 서비스 를 시작해야 합니다. 먼저.
들어 페도라 리눅스 (이다 느릅 나무 배포판 I 사용) 당신은이 명령을 실행해야합니다 :
1 sudo service mongod start
2 mongo
그리고 거기에 있습니다! 서버가 실행됩니다. 이제 시스템이 부팅 될 때 Mongo 서비스를 시작하려면 다음을 실행해야합니다.
sudo chkconfig --levels 235 mongod on
그리고 그게 전부입니다! 그렇게한다면 이제 쉘 에서 서버를 시작하기 위해 mongo 를 입력해야 하지만 그게 다야 , 문제는 먼저 SERVICE를 시작한 다음 SERVER를 시작해야한다는 것입니다. :)
추신 : 내가 게시 한 명령은 페도라뿐만 아니라 다른 리눅스 배포판에서도 작동 할 수 있습니다 ... 사용중인 배포판에 따라 일부 단어 를 조정할 필요가없는 경우 ;)
sudo service mongodb start
mongo를 설치하려고 할 때 동일한 문제가 발생했습니다. 오류가 발생했습니다.
오류
"Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84"
해결책:
먼저 다음을 사용하여 mongod를 설치하십시오.
sudo apt-get install mongodb-server
그런 다음 입력
mongod --dbpath /mongo/db
그때
sudo rm /var/lib/mongodb/mongod.lock
그때
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
감사합니다
당신은 잠금 파일 삭제해야 mongod.lock
하거나 /var/lib/mongodb/mongod.lock
다음 실행해야 우분투를 mongod.exe
하거나 service mongodb start
우분투 먼저, 다음 실행에 mongo.exe
또는 mongo
우분투.
.exe
파일을 사용하지 않을 것이라고 확신 합니다.
먼저 / var / lib / mongodb / 폴더 (또는 dbpath가 가리키는 폴더)의 모든 파일과 디렉토리가 mongodb 사용자 및 mongodb 그룹에 속하는지 확인해야합니다.
cd /var/lib/mongodb/
sudo chown mongodb filename.*
sudo chgrp mongodb filename.*
sudo chown -R mongodb directory
sudo chgrp -R mongodb directory
(파일 이름과 디렉토리를 각각의 이름으로 바꿉니다)
그런 다음 다른 사람들이 이미 언급했듯이 잠금을 제거하고 데이터베이스를 복구하고 데몬을 다시 시작할 수 있습니다.
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo service mongodb start
sudo -u mongodb mongod -f /etc/mongod.conf --repair
Ubuntu 14에 있습니다.
또한 루트 파티션에 mongod를 시작하기에 충분한 공간이 있는지 확인하십시오.
df -h /
mongod 시작시 다음과 같은 smth가 표시됩니다.
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...
$ PATH와 권한 문제의 조합 일 수 있습니다.
아래 단계를 따르십시오.
MongoDB bin 파일을 가리 키도록 $ PATH 변수를 업데이트합니다. 제 경우에는 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 : w q'를 사용하여 저장하고 Vi 편집기를 종료합니다.
echo를 사용하여 경로 변수를 표시하십시오.
$ 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'를 실행 한 것과 비슷합니다. 계속해서 config 파일을 생성하겠습니다. 매우 기본적인 구성 파일을 만들었습니다. 그러나 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 및 logpath에 대해 고유 한 경로를 사용하십시오. 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/#comment-1036112094 에서 확인할 수 있습니다 .
도움이 되었기를 바랍니다.
건배, Chinmay