Mới sử dụng MongoDB Không thể chạy lệnh mongo


93

Tôi đang cố chạy 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

Tôi đã xem tại http://www.mongodb.org/display/DOCS/Quickstart+Windows và làm theo hướng dẫn. Bất cứ ai có thể cho tôi biết vấn đề với việc chạy MongoDB (Tôi đang sử dụng Windows 7) là gì?


Không đồng ý, vì việc đọc nhật ký không thể bị hỏi quá nhiều, ngay cả từ một người mới. Dòng ngay trước khi bắt đầu tắt máy nói rõ điều gì đang xảy ra.
Markus W Mahlberg

Câu trả lời:


76

Tôi nghĩ đầu ra nhật ký của bạn nói rõ điều đó;

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

Bạn có thể chỉ cần tạo thư mục này hoặc tốt hơn là xác định nó như một giá trị cấu hình trong tệp cấu hình của bạn, sau đó sử dụng nó như mongod -f C:\path\to\your\mongodb.conf.


6
đừng lo lắng. chỉ thoát khỏi rằng điều windowz, mà sẽ làm cho bạn quen thuộc hơn với phát triển phần mềm ..
kirpit

14
Theo mặc định, MongoDB sẽ nằm trong thư mục: c: \ data \ db, vì vậy bạn cũng có thể tạo cấu trúc thư mục đó và quá trình cơ sở dữ liệu MongoDB sẽ không mắng bạn.
Miguel Sevilla

1
Tôi đã đặt dữ liệu \ db ở nhiều nơi cũng như sử dụng tùy chọn --dbpath nhưng không có kết quả. Điều duy nhất hoạt động là tạo thư mục c: \ data \ db như Miguel Sevilla đề xuất.
brybott

165

Sau khi cài đặt MongoDB, bạn nên tạo thủ công một thư mục dữ liệu.

Theo mặc định, MongoDB sẽ lưu trữ dữ liệu trong / data / db, 
nhưng nó sẽ không tự động tạo thư mục đó. Để tạo nó, hãy làm:

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

Bạn cũng có thể yêu cầu MongoDB sử dụng một thư mục dữ liệu khác,
với tùy chọn --dbpath.

Để biết thêm thông tin chi tiết, hãy truy cập trang wiki MongoDB.


3
Đây hẳn là câu trả lời - nó hoạt động và hữu ích hơn khi "Đọc tài liệu".
Dan

Cũng cần lưu ý, hôm nay tôi mới phát hiện ra điều này, nếu bạn khởi động mongo với service mongodb startnó, nó sẽ tự động đọc /etc/mongod.conftệp và bạn không cần chỉ định biến --dbpath hoặc --config của mình mỗi khi khởi động! Điều này chắc chắn hoạt động cho cài đặt 10gen nhưng tôi không chắc về những người khác vì tôi chưa thử chúng.
vô hạn

27

Chỉ định đường dẫn cơ sở dữ liệu một cách rõ ràng như vậy và xem điều đó có giải quyết được sự cố không.

mongod --dbpath data/db

Nếu thư mục không tồn tại, nó sẽ bị lỗi trong phiên bản mongo 4.2
Tono Nam


5

Đối với Windows 7

Bạn có thể chỉ định một đường dẫn thay thế \data\dbvới cài đặt dbpath cho mongod.exe ,

như trong ví dụ sau:

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

hoặc là

bạn có thể đặt dbpath thông qua Tệp cấu hình .


4

Kiểm tra xem đường dẫn đến tệp dữ liệu cơ sở dữ liệu có tồn tại không;):

Chủ nhật ngày 06 tháng 11 18:48:37 [initandlisten] ngoại lệ trong initAndListen: 10296 dbpath (/ data / db) không tồn tại , chấm dứt


2

Điều này đã làm việc cho tôi (nếu nó áp dụng mà bạn cũng thấy tệp khóa):

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

2

Sau nhiều lần thử, điều này hoạt động với tôi trên Windows 7 vi :

Ban đầu thư mục mà bạn đã sao chép tất cả các nguồn MongDB có dạng xem như vậy:

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

Tất cả những gì bạn cần là thêm thư mục dữ liệu và thư mục db lồng nhau (data / db) Chế độ xem cuối cùng sẽ giống như sau:

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

Hơn là chỉ cần gõ vào thư mục chứa các nguồn MongoDB và dữ liệu / db dirs, lệnh này:

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

1

Ngoài ra, hãy kiểm tra xem bạn đã cài đặt Mongo dưới dạng dịch vụ windows chưa và liệu nó có đang chạy hay không. Điều đó cũng quan trọng. Có thể có xung đột cổng vì điều đó.


1

Tạo thư mục data / db trong phân vùng chính (windows) của bạn:

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

và sau đó truy cập mongo_directory / bin của bạn và chạy mongod.exe:

C:\> cd \my_mongo_dir\bin

C:\my_mongo_dir\bin> mongod

KHÔNG ĐÓNG CỬA SỔ NÀY

Bây giờ trong một cửa sổ nhắc lệnh khác, hãy chạy Mongo:

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

(NHỚ BẠN PHẢI GIỮ MỞ CỬA SỔ KHÁC)

Điều này giải quyết các vấn đề đối với tôi.


>> mongod -install --dbpath c: \ data \ db --logpath c: \ data \ log >> net start "Mongo DB" // lưu ý: net start có thể cần quản trị cho phép
damphat

1

tạo cấu trúc thư mục data / db trong thư mục làm việc và sau đó khởi động mongodb bằng "mongod --dbpath data / db" hoạt động tốt


1

Bạn nên tạo một startup.batnếu bạn đang sử dụng Windows, thuận tiện hơn nhiều:

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

Và chỉ cần dbclick startup.bat và mongodb sẽ chạy bằng cách sử dụng C:\mongodb\datalàm thư mục dữ liệu của nó.


0

Bạn chỉ cần tạo thư mục trong C :. dưới dạng C: \ data \ db \

Bây giờ chỉ cần bắt đầu 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)

Sau đó, nó sẽ chạy dưới dạng dịch vụ trong nền.


0

Nếu bạn đang sử dụng Windows 7 / 7+.

Đây là một cái gì đó bạn có thể thử.

Kiểm tra xem cài đặt có đúng trong BẢNG ĐIỀU KHIỂN của máy tính của bạn không.

Bây giờ, hãy truy cập thư mục và nơi bạn đã cài đặt MongoDB. Lý tưởng nhất, nó sẽ ở

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

Sau đó, trong dấu nhắc lệnh hoặc trong thiết bị đầu cuối của IDE. Điều hướng đến đường dẫn trên (Tốt nhất là tệp lưu của bạn) và nhập

mongod --dbpath

Nó sẽ hoạt động ổn!


0

Cách tiếp cận đơn giản nhất được cung cấp bởi tệp trợ giúp README mongo

ĐANG CHẠY

Đối với các tùy chọn dòng lệnh gọi:

$ ./mongod --help

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

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

Nếu bạn đang làm việc với windows, hãy chuyển đến thư mục của bạn nơi bạn có mongo.exe

sử dụng các lệnh sau, (Tôi đang chia sẻ của tôi)

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

Bây giờ bạn cần chạy một dấu nhắc CMD khác và chuyển đến thư mục mà bạn có mongo và chỉ cần chạy nó

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

Hy vọng nó đã giúp :)

Nếu nó không hoạt động, hãy chạy CMD với tư cách quản trị viên

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.