khi tôi thiết lập mongodb trong ubuntu của mình, tôi thử: ./mongo nó hiển thị lỗi này:
couldn't connect to server 127.0.0.1 shell/mongo.js
vậy tôi có thể làm gì ,
cảm ơn
khi tôi thiết lập mongodb trong ubuntu của mình, tôi thử: ./mongo nó hiển thị lỗi này:
couldn't connect to server 127.0.0.1 shell/mongo.js
vậy tôi có thể làm gì ,
cảm ơn
mongod
đầu tiên
Câu trả lời:
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
Xin lưu ý những điều sau:
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo service mongodb start
Đây là tất cả, đôi khi, phải mất một chút thời gian để khởi động mongo sau khi thực hiện các thao tác này.
Mon Aug 22 11:28:17.919 Can't specify both --journal and --repair options.
Đang thử chạy $ mongod
Nếu bạn gặp lỗi vi như
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
Sau đó, bạn gặp phải một lỗi khởi động cơ bản khá phổ biến.
Theo mặc định, mongod sẽ cố gắng sử dụng / data / db cho các tệp cơ sở dữ liệu của nó, trong trường hợp này, không tồn tại.
Bạn không thể bắt đầu
mongo
cho đến khi bạn xử lý
mongod.
Hãy thử tạo các thư mục đó và đảm bảo rằng chúng có thể được ghi bởi cùng một người dùng đang chạy quy trình mongod.
** Xem câu hỏi tương tự-- Gặp lỗi, "Lỗi: không thể kết nối với máy chủ 127.0.0.1 shell / mongo.js" & khi cố gắng chạy mongodb trên mac osx lion
Đây thực sự không phải là lỗi ... Điều xảy ra ở đây là Mongo dựa vào daemon để chạy máy chủ cơ sở dữ liệu cục bộ, vì vậy để "kích hoạt" máy chủ mongo trong trình bao của bạn, bạn phải khởi động dịch vụ mongo Đầu tiên.
Đối với Fedora Linux (là Distro tôi sử dụng) Bạn phải chạy các lệnh sau:
1 sudo service mongod start
2 mongo
Và bạn có nó rồi đấy! máy chủ sẽ chạy. Bây giờ, nếu bạn muốn dịch vụ Mongo bắt đầu khi hệ thống khởi động thì bạn phải chạy:
sudo chkconfig --levels 235 mongod on
Và đó là tất cả! Nếu bạn làm điều đó, bây giờ trong shell bạn chỉ phải gõ mongo để khởi động máy chủ nhưng điều đó khá nhiều, vấn đề là bạn phải khởi động DỊCH VỤ trước rồi đến MÁY CHỦ :)
PS Các lệnh tôi đã đăng cũng có thể hoạt động trên các bản phân phối linux khác, không chỉ trên fedora ... Trong trường hợp không, có thể bạn phải tinh chỉnh một số từ tùy thuộc vào bản phân phối bạn đang sử dụng;)
sudo service mongodb start
Tôi gặp vấn đề tương tự khi cố gắng cài đặt mongo. Tôi gặp lỗi khi,
lỗi
"Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84"
Giải pháp:
Đầu tiên cài đặt mongod bằng cách sử dụng:
sudo apt-get install mongodb-server
Sau đó gõ
mongod --dbpath /mongo/db
Sau đó
sudo rm /var/lib/mongodb/mongod.lock
Sau đó
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
Cảm ơn bạn
Bạn cần xóa tệp khóa mongod.lock
hoặc /var/lib/mongodb/mongod.lock
trên ubuntu, sau đó bạn cần chạy mongod.exe
hoặc service mongodb start
trên ubuntu trước, sau đó chạy mongo.exe
hoặc mongo
trên ubuntu.
.exe
tệp nào .
Mongod của bạn không chạy (kiểm tra bằng lệnh "ps") hoặc nó đang nghe trên một số địa chỉ IP bên ngoài chứ không phải trên localhost. Vì vậy, trước tiên hãy kiểm tra danh sách quy trình nếu 'mongod' đang chạy. Nếu có, hãy kiểm tra bằng "netstat -nap" để biết cổng liên quan.
Tất nhiên, bạn có thể khởi động mongod trên bảng điều khiển theo cách thủ công hoặc thậm chí nhìn vào logfile mongod (nếu có một tệp được cấu hình ... tùy thuộc vào cách bạn cài đặt mongod).
Trước tiên, bạn phải đảm bảo rằng tất cả các tệp và thư mục trong thư mục / var / lib / mongodb / của bạn (hoặc bất kỳ thư mục nào mà dbpath trỏ đến) thuộc về người dùng mongodb và nhóm mongodb.
cd /var/lib/mongodb/
sudo chown mongodb filename.*
sudo chgrp mongodb filename.*
sudo chown -R mongodb directory
sudo chgrp -R mongodb directory
(Thay thế tên tệp và thư mục bằng tên tương ứng của chúng)
Sau đó, bạn có thể xóa khóa, sửa chữa cơ sở dữ liệu và khởi động lại daemon như những người khác đã đề cập:
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
trên Ubuntu 14.
Đầu tiên hãy khởi động máy chủ mongo của bạn bằng cách
Users-MacBook-Pro:csv1 Admin$ mongod
all output going to: /usr/local/var/log/mongodb/mongo.log
Sau đó, mở một cửa sổ đầu cuối khác và mở trình bao
Users-MacBook-Pro:csv1 Admin$ mongo
Ngoài ra, hãy kiểm tra xem phân vùng gốc của bạn có đủ dung lượng để khởi động mongod không.
df -h /
Bạn sẽ thấy thông báo như thế này khi khởi chạy mongod:
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...
Nó có thể là sự kết hợp của $ PATH và vấn đề Quyền.
Hãy thử các bước sau:
Cập nhật biến $ PATH của bạn để trỏ đến tệp bin MongoDB của bạn. Trong trường hợp của tôi, hãy cài đặt MongoDB vào thư mục này:
/usr/local/Cellar/mongodb/2.4.6/
Để cập nhật biến $ PATH của bạn, hãy làm như sau:
$ sudo vi /etc/paths
Sau đó, nhấn 'i' để chèn văn bản trong Vi và nối đường dẫn MongoDB của bạn vào cuối tệp 'đường dẫn' và khởi động lại thiết bị đầu cuối.
/usr/local/Cellar/mongodb/2.4.6/bin
Sử dụng 'Esc: w q' để lưu và thoát khỏi trình chỉnh sửa Vi.
Sử dụng echo để hiển thị biến đường dẫn của bạn:
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/Cellar/mongodb/2.4.6/bin
Bây giờ hãy thử kiểm tra phiên bản Mongo, nếu bạn nhận được theo dõi, thì bạn đang đi đúng hướng!
$ mongo --version
MongoDB shell version: 2.4.6
Bây giờ chúng ta cần tạo thư mục cơ sở dữ liệu. Tôi đã sử dụng vị trí '/ data / db' mặc định được đề xuất trong tài liệu MongoDB. Tôi cũng đã tạo một thư mục nhật ký để tránh mọi vấn đề về quyền trong khi Mongo cố gắng tạo bất kỳ nhật ký nào. Thay đổi quyền sở hữu và điều đó sẽ thực hiện công việc.
$ sudo mkdir /data/db
$ sudo mkdir /data/log
$ whoami
username
$ chown -R username /data
Bây giờ, chúng tôi sẽ tạo một tệp cấu hình mặc định cho MongoDB để được cung cấp lần đầu tiên chúng tôi chạy lệnh 'mongod'. Bây giờ, tôi cũng muốn chỉ ra rằng 'mongod' sẽ bắt đầu một dịch vụ, dịch vụ này sẽ lắng nghe các kết nối dữ liệu đến. Điều này cũng tương tự khi thực thi '$ service mysqld start'. Hãy tiếp tục và tạo tệp cấu hình. Hãy nhớ rằng tôi đã tạo tệp cấu hình rất cơ bản. Tuy nhiên, bạn có thể thêm nhiều biến khác để cấu hình MongoDB. Đây là lần đầu tiên tôi chơi với MongoDB, vì vậy tôi chỉ biết nhiều như tôi đọc trên tài liệu MongoDB! Tôi đã tạo 'mongodb.conf'.
$ sudo vi /etc/mongodb.conf
Thêm sau:
fork = true
port = 27017
quiet = true
dbpath = /data/db
logpath = /data/log/mongod.log
logappend = true
journal = true
Xin lưu ý rằng cổng mặc định cho máy chủ MongoDB là 27017. Sử dụng đường dẫn của riêng bạn cho dbpath và logpath mà bạn đã tạo ở Bước - 5. Đừng quên đóng và lưu tệp conf.
Bây giờ chúng ta đã sẵn sàng để bắt đầu dịch vụ MongoDB của mình. Mở hai phiên bản của Terminal. Trong Terminal 1, nhập:
$ 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
Nếu bạn nhận được thông báo trên, thì hãy biết rằng bạn đã khởi động thành công dịch vụ Mongod của mình.
Bây giờ, để kết nối với nó, trong Terminal 2, nhập sau:
$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
>
Bỏ qua các cảnh báo, nhưng bạn đã kết nối thành công với cơ sở dữ liệu 'kiểm tra'! Mát mẻ!
Đó là tất cả. Tôi đã áp dụng giải pháp này khi tôi cố gắng cài đặt bản sao MongoDB trên máy Mac của mình lần đầu tiên. Xem nếu điều này giúp bạn quá.
Để có bài đăng chi tiết, bạn có thể truy cập vào đây - http://arcanebytes.com/2013/09/03/mongodb-installation-on-mac-os-x/#comment-1036112094 .
Tôi hy vọng nó sẽ giúp!
Chúc mừng, Chinmay