ใหม่สำหรับ MongoDB ไม่สามารถรันคำสั่ง mongo


94

ฉันพยายามเรียกใช้ MongoDB:

   E:\mongo\bin>mongod
    mongod --help for help and startup options
    Sun Nov 06 18:48:37
    Sun Nov 06 18:48:37 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
    Sun Nov 06 18:48:37
    Sun Nov 06 18:48:37 [initandlisten] MongoDB starting : pid=7108 port=27017 dbpath=/data/db 32-bit host=pykhmer-PC
    Sun Nov 06 18:48:37 [initandlisten]
    Sun Nov 06 18:48:37 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
    Sun Nov 06 18:48:37 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations
    Sun Nov 06 18:48:37 [initandlisten] **       with --journal, the limit is lower
    Sun Nov 06 18:48:37 [initandlisten]
    Sun Nov 06 18:48:37 [initandlisten] db version v2.0.1, pdfile version 4.5
    Sun Nov 06 18:48:37 [initandlisten] git version: 3a5cf0e2134a830d38d2d1aae7e88cac31bdd684
    Sun Nov 06 18:48:37 [initandlisten] build info: windows (5, 1, 2600, 2, 'Service Pack 3') BOOST_LIB_VERSION=1_42
    Sun Nov 06 18:48:37 [initandlisten] options: {}
    Sun Nov 06 18:48:37 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db) does not exist, terminating
    Sun Nov 06 18:48:37 dbexit:
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to close listening sockets...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to flush diaglog...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to close sockets...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: waiting for fs preallocator...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: closing all files...
    Sun Nov 06 18:48:37 [initandlisten] closeAllFiles() finished
    Sun Nov 06 18:48:37 dbexit: really exiting now

E:\mongo\bin>mongo
MongoDB shell version: 2.0.1
connecting to: test
Sun Nov 06 18:48:42 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed

E:\mongo>ls
GNU-AGPL-3.0  README  THIRD-PARTY-NOTICES  bin  data

ฉันดูที่http://www.mongodb.org/display/DOCS/Quickstart+Windows และทำตามคำแนะนำ ใครช่วยบอกฉันได้ไหมว่าปัญหาในการเรียกใช้ MongoDB คืออะไร (ฉันใช้ Windows 7)


โหวตลงเนื่องจากการอ่านบันทึกไม่สามารถถามได้มากเกินไปแม้จะมาจากใครก็ตาม บรรทัดก่อนการปิดเครื่องจะเริ่มระบุอย่างชัดเจนว่ากำลังเกิดอะไรขึ้น
Markus W Mahlberg

คำตอบ:


76

ฉันคิดว่าเอาต์พุตบันทึกของคุณระบุอย่างชัดเจน

exception in initAndListen: 10296 dbpath (/data/db) does not exist, terminating

คุณก็สามารถสร้างไดเรกทอรีนี้หรือดีกว่าที่จะกำหนดมันmongod -f C:\path\to\your\mongodb.confเป็นค่าการกำหนดค่าที่อยู่ในแฟ้มการกำหนดค่าของคุณแล้วใช้มันเป็น


6
ไม่ต้องห่วง. เพียงแค่กำจัดสิ่งที่ windowz ซึ่งจะทำให้คุณคุ้นเคยกับการพัฒนาซอฟต์แวร์มากขึ้น ..
kirpit

14
ตามค่าเริ่มต้น MongoDB จะดูในโฟลเดอร์: c: \ data \ db ดังนั้นคุณสามารถสร้างโครงสร้างไดเร็กทอรีนั้นได้และกระบวนการฐานข้อมูล MongoDB จะไม่ตะโกนใส่คุณ
Miguel Sevilla

1
ฉันวาง data \ db ไว้ในหลาย ๆ ที่และใช้ตัวเลือก --dbpath โดยไม่มีประโยชน์ สิ่งเดียวที่ได้ผลคือการสร้างโฟลเดอร์ c: \ data \ db ตามที่ Miguel Sevilla แนะนำ
brybott

166

หลังจากติดตั้ง MongoDB คุณควรสร้างโฟลเดอร์ข้อมูลด้วยตนเอง

โดยค่าเริ่มต้น MongoDB จะจัดเก็บข้อมูลใน / data / db, 
แต่จะไม่สร้างไดเรกทอรีนั้นโดยอัตโนมัติ ในการสร้างให้ทำ:

$ sudo mkdir -p / data / db /
$ sudo chownʻid -u` / data / db

คุณยังสามารถบอกให้ MongoDB ใช้ไดเร็กทอรีข้อมูลอื่นได้
ด้วยตัวเลือก --dbpath

สำหรับข้อมูลเพิ่มเติมให้ไปที่หน้า MongoDB wiki


3
นี่น่าจะเป็นคำตอบ - มันได้ผลและมีประโยชน์มากกว่า "อ่านเอกสารประกอบ"
แดน

โปรดทราบว่าฉันเพิ่งค้นพบสิ่งนี้ในวันนี้หากคุณเริ่ม mongo ด้วยservice mongodb startมันจะอ่าน/etc/mongod.confไฟล์โดยอัตโนมัติและคุณไม่จำเป็นต้องระบุตัวแปร --dbpath หรือ --config ทุกครั้งที่คุณเริ่ม! สิ่งนี้ใช้ได้กับการติดตั้ง 10gen แต่ฉันไม่แน่ใจเกี่ยวกับตัวอื่นเพราะฉันไม่ได้ลอง
boundless08



6

สำหรับWindows 7

คุณอาจจะระบุเป็นเส้นทางสำรองสำหรับการ\data\dbที่มีการตั้งค่าสำหรับ DBPath mongod.exe ,

ดังตัวอย่างต่อไปนี้:

c:\mongodb\bin\mongod.exe --dbpath c:\mongodb\data\db

หรือ

คุณสามารถตั้งค่า DBPath ผ่านแฟ้มการกำหนดค่า


4

ตรวจสอบว่ามีพา ธ ไปยังไฟล์ข้อมูลฐานข้อมูล;):

อา. 06 พ.ย. 18:48:37 [initandlisten] ข้อยกเว้นใน initAndListen: 10296 dbpath (/ data / db) ไม่มีอยู่การยุติ


2

สิ่งนี้ใช้ได้ผลสำหรับฉัน (หากเป็นไปได้ว่าคุณเห็นไฟล์ล็อกด้วย):

first>youridhere@ubuntu:/var/lib/mongodb$ sudo service mongodb start 
then >youridhere@ubuntu:/var/lib/mongodb$ sudo rm mongod.lock*

2

หลังจากพยายามหลายครั้งสิ่งนี้ใช้ได้กับฉันในWindows 7 env:

ไดเรกทอรีเริ่มต้นที่คุณได้คัดลอกแหล่งที่มา MongDB ทั้งหมดมีมุมมองดังกล่าว:

bsondump.exe
mongo.exe
mongod.exe
mongod.pdb
mongodump.exe
mongoexport.exe
mongofiles.exe
mongoimport.exe
mongooplog.exe
mongoperf.exe
mongorestore.exe
mongos.exe
mongos.pdb
mongostat.exe
mongotop.exe

สิ่งที่คุณต้องมีคือเพิ่มไดเร็กทอรีข้อมูลและไดเร็กทอรีdb ที่ซ้อนกัน (data / db) มุมมองสุดท้ายควรมีลักษณะดังนี้:

data
bsondump.exe
mongo.exe
mongod.exe
mongod.pdb
mongodump.exe
mongoexport.exe
mongofiles.exe
mongoimport.exe
mongooplog.exe
mongoperf.exe
mongorestore.exe
mongos.exe
mongos.pdb
mongostat.exe
mongotop.exe

เพียงพิมพ์ในไดเร็กทอรีที่มีแหล่ง MongoDB และ data / db dirs คำสั่งนี้:

C:\my_mongo_dir\bin>mongod --dbpath .\data\db

1

ตรวจสอบด้วยว่าคุณได้ติดตั้ง Mongo เป็นบริการ windows หรือไม่และทำงานอยู่หรือไม่ ที่สำคัญเช่นกัน อาจมีความขัดแย้งของพอร์ตเนื่องจากเหตุนี้


1

สร้างไดเร็กทอรี data / db ในพาร์ติชันหลัก (windows) ของคุณ:

C:\> mkdir \data
C:\> mkdir \data\db

จากนั้นไปที่ mongo_directory / bin ของคุณและเรียกใช้ mongod.exe:

C:\> cd \my_mongo_dir\bin

C:\my_mongo_dir\bin> mongod

อย่าปิดหน้าต่างนี้

ตอนนี้ในหน้าต่างพรอมต์คำสั่งอื่นให้เรียกใช้ Mongo:

C:\> cd \my_mongo_dir\bin
C:\my_mongo_dir\bin> mongo

(จำไว้ว่าคุณต้องเปิดหน้าต่างอื่น ๆ ไว้)

สิ่งนี้ช่วยแก้ปัญหาให้ฉันได้


>> mongod --install --dbpath C: \ ข้อมูล \ DB --logpath C: \ บันทึกข้อมูล \ >> เริ่มต้นสุทธิ "Mongo DB" // หมายเหตุ: การเริ่มต้นสุทธิอาจต้องดูแลระบบได้รับอนุญาต
damphat

1

สร้างข้อมูลโครงสร้างโฟลเดอร์ / db ในไดเร็กทอรีการทำงานจากนั้นเริ่มต้น mongodb โดยใช้ "mongod --dbpath data / db" ทำงานได้ดี


1

คุณควรสร้างstartup.batถ้าคุณใช้ Windows สะดวกกว่ามาก:

C:\mongodb\mongodb-win32-x86_64-eiditon\bin\mongod.exe --dbpath C:\mongodb\data

และเพียงแค่ dbclick startup.bat และ mongodb จะทำงานโดยใช้C:\mongodb\dataเป็นโฟลเดอร์ข้อมูล


0

คุณต้องสร้างไดเร็กทอรีใน C :. เป็น C: \ data \ db \

ตอนนี้เพียงแค่เริ่ม mongoDB:

C:\Users\gi.gupta>"c:\Program Files\MongoDB\Server\3.2\bin\mongod.exe"
2016-05-03T10:49:30.412+0530 I CONTROL  [main] Hotfix KB2731284 or later update is not installed, will zero-out data files
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] MongoDB starting : pid=7904 port=27017 dbpath=C:\data\db\ 64-bit host=GLTPM-W036
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] db version v3.2.6
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] git version: 05552b562c7a0b3143a729aaa0838e558dc49b25
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1p-fips 9 Jul 2015
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] allocator: tcmalloc
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] modules: none
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] build environment:
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     distmod: 2008plus-ssl
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     distarch: x86_64
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     target_arch: x86_64
2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] options: {}
2016-05-03T10:49:30.427+0530 I -        [initandlisten] Detected data files in C:\data\db\ created by the 'wiredTiger' storage engine, so setting the active storage engine to
2016-05-03T10:49:30.429+0530 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=1G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(f
chive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2016-05-03T10:49:30.998+0530 I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
2016-05-03T10:49:30.998+0530 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory 'C:/data/db/diagnostic.data'
2016-05-03T10:49:31.000+0530 I NETWORK  [initandlisten] waiting for connections on port 27017
2016-05-03T10:49:40.766+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:57504 #1 (1 connection now open)

จากนั้นจะทำงานเป็นบริการในพื้นหลัง


0

หากคุณใช้ Windows 7 / 7+

นี่คือสิ่งที่คุณสามารถลองได้

ตรวจสอบว่าการติดตั้งถูกต้องในแผงควบคุมของคอมพิวเตอร์ของคุณหรือไม่

ตอนนี้ไปที่ไดเร็กทอรีและตำแหน่งที่คุณติดตั้ง MongoDB ตามหลักการแล้วมันจะอยู่ใน

C: \ Program Files \ MongoDB \ Server \ 3.6 \ bin

จากนั้นในพรอมต์คำสั่งหรือในเทอร์มินัลของ IDE ไปที่เส้นทางด้านบน (ตามหลักการแล้วบันทึกไฟล์ของคุณ) และพิมพ์

mongod --dbpath

มันน่าจะใช้ได้!


0

แนวทางที่ง่ายที่สุดที่ได้รับจากไฟล์วิธีใช้ Mongo README

วิ่ง

สำหรับตัวเลือกบรรทัดคำสั่งเรียกใช้:

$ ./mongod --help

ในการรันฐานข้อมูลเซิร์ฟเวอร์เดียว:

$ sudo mkdir -p /data/db
$ ./mongod
$
$ # The mongo javascript shell connects to localhost and test database by default:
$ ./mongo
> help

หากคุณกำลังทำงานกับ windows ให้ไปที่ไดเร็กทอรีของคุณที่คุณมี mongo.exe

ใช้คำสั่งต่อไปนี้ (ฉันกำลังแบ่งปันของฉัน)

C:\Program Files\MongoDB\Server\3.6\bin>mkdir \data

C:\Program Files\MongoDB\Server\3.6\bin>mkdir \data\db

C:\Program Files\MongoDB\Server\3.6\bin>mongod ## this will start your mongoDB server

ตอนนี้คุณต้องเรียกใช้พรอมต์ CMD อื่นและไปที่ไดเร็กทอรีที่คุณมี mongo แล้วเรียกใช้

C:\Program Files\MongoDB\Server\3.6\bin>mongo ## this will start your mongoDB client

หวังว่ามันจะช่วย :)

หากไม่ได้ผลให้เรียกใช้ CMD ในฐานะผู้ดูแลระบบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.