Đó là một chút hack nhưng có, điều này có thể được thực hiện. Có một bước không cần thiết để thực sự bắt đầu dịch vụ và (thật kỳ lạ) trừ khi bạn muốn thực hiện chuyển đổi công việc bằng tay, bạn cần cài đặt mongodb
gói Ubuntu trước, sau đó xóa nó để bạn có dịch vụ có thể sử dụng được. Việc cài đặt thẳng các gói MongoDB sẽ không cung cấp cho bạn dịch vụ hoạt động vào ngày 16.04 mới.
Cập nhật - Tháng 7 năm 2016: Bản sửa lỗi chính thức cho việc này (thêm hỗ trợ cho 16.04 cho các gói) đã được hoàn thành trong nhánh 3,3 dev như một phần của SERVER-23043 - và đã được phát hành dưới dạng backport trong loạt 3.2 như một phần của 3.2. 7 . Do đó, nếu bạn đang sử dụng 3.2.7+, bạn không cần phải làm điều này và cài đặt gói MongoDB chính thức sẽ chỉ hoạt động.
Trong mọi trường hợp, sau khi thực hiện thêm / xóa, hãy làm theo các hướng dẫn thông thường cho 14.04, được tóm tắt tại đây:
# install the Ubuntu package (to get the service set up correctly)
sudo apt-get install mongodb
# Now remove it and continue with the MongoDB instructions
sudo apt-get remove mongodb
sudo apt-get autoremove
# import key
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
# add trusty repos
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
# update apt
sudo apt-get update
# install the MongoDB package
sudo apt-get install -y mongodb-org
Quá trình cài đặt thành công và nhờ gói Ubuntu, chúng tôi có tất cả các phần cần thiết cho một dịch vụ, nhưng cố gắng khởi động dịch vụ ban đầu sẽ thất bại:
$ sudo service mongodb start
Failed to start mongodb.service: Unit mongodb.service is masked.
Khắc phục điều này không quá khó:
$ sudo systemctl unmask mongodb
Removed symlink /etc/systemd/system/mongodb.service.
Bây giờ chúng tôi có thể kích hoạt / bắt đầu dịch vụ, nhận trạng thái của nó, v.v.
$ sudo service mongodb enable
$ sudo service mongodb start
$ sudo service mongodb status
● mongodb.service - LSB: An object/document-oriented database
Loaded: loaded (/etc/init.d/mongodb; bad; vendor preset: enabled)
Active: active (running) since Thu 2016-04-14 16:40:35 IST; 7s ago
Docs: man:systemd-sysv-generator(8)
Process: 2849 ExecStart=/etc/init.d/mongodb start (code=exited, status=0/SUCCESS)
Main PID: 1593 (code=exited, status=0/SUCCESS)
Tasks: 13 (limit: 512)
Memory: 51.9M
CPU: 100ms
CGroup: /system.slice/mongodb.service
└─2861 /usr/bin/mongod --config /etc/mongodb.conf
Thành công - và chúng tôi nhận được một con trỏ đẹp cho tệp cấu hình hoạt động (ở key=value
định dạng cũ , xem ở đây để biết ví dụ ở định dạng YAML mới hơn được đề xuất).
Lưu ý: Thực sự sẽ có hai tệp cấu hình /etc/mongod.conf
và /etc/mongodb.conf
nhờ có sự khác biệt nhỏ giữa hai gói chúng tôi đã cài đặt. Dịch vụ hiện đang hoạt động trỏ đến định dạng cũ theo mặc định /etc/mongodb.conf
- bạn có thể chuyển đổi bằng cách di chuyển / sao chép mongod.conf
sang mongodb.conf
nếu bạn muốn hoặc chỉ cần chỉnh sửa tệp trực tiếp.
Sau khi bắt đầu, để kiểm tra, kết nối với cơ sở dữ liệu bằng mongo
shell:
$ mongo
MongoDB shell version: 3.2.5
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten]
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten]
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten]
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten]
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten]
Nếu bạn muốn thoát khỏi các cảnh báo THP, hãy xem câu trả lời này .