MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Cách cài đặt MongoDB trên Ubuntu 18.04

MongoDB là một hệ thống quản lý cơ sở dữ liệu tài liệu hiện đại, mã nguồn mở được thiết kế để đảm bảo dữ liệu hiệu suất cao, tính khả dụng cao, cũng như tự động chia tỷ lệ, dựa trên công nghệ hiện đại của NoSQL . Trong MongoDB , bản ghi là một tài liệu, là một cấu trúc dữ liệu bao gồm các cặp giá trị và trường (tài liệu MongoDB có thể so sánh với các đối tượng JSON).

Bởi vì nó cung cấp hiệu suất cao và các tính năng có khả năng mở rộng tuyệt vời, nó đang được sử dụng để xây dựng các ứng dụng hiện đại yêu cầu cơ sở dữ liệu mạnh mẽ, quan trọng và có tính khả dụng cao.

Trong bài viết này, chúng tôi sẽ giải thích cách cài đặt MongoDB , quản lý dịch vụ của nó và thiết lập xác thực cơ bản trên Ubuntu 18.04 .

Quan trọng :Bạn nên lưu ý rằng các nhà phát triển của MongoDB chỉ cung cấp các gói cho LTS 64-bit (hỗ trợ lâu dài) Các bản phát hành Ubuntu chẳng hạn như 14.04 LTS (đáng tin cậy), 16.04 LTS (xenial), v.v.

Bước 1:Cài đặt MongoDB trên Ubuntu 18.04

1. Kho lưu trữ gói phần mềm chính thức của Ubuntu đi kèm với phiên bản mới nhất của MongoDB và có thể dễ dàng cài đặt bằng trình quản lý gói APT.

Trước tiên, hãy cập nhật bộ đệm ẩn gói phần mềm hệ thống để có phiên bản mới nhất của danh sách kho lưu trữ.

$ sudo apt update

2. Tiếp theo, cài đặt gói MongoDB bao gồm một số gói khác như mongo-tools , mongodb-client , mongodb-server mongodb-server-core .

$ sudo apt install mongodb

3. Khi bạn đã cài đặt thành công, dịch vụ MongoDB sẽ tự động bắt đầu thông qua systemd và quá trình sẽ lắng nghe trên cổng 27017 . Bạn có thể xác minh trạng thái của nó bằng lệnh systemctl như được hiển thị.

$ sudo systemctl status mongodb

Bước 2:Quản lý Dịch vụ MongoDB

4. MongoDB cài đặt đi kèm như một dịch vụ systemd và có thể dễ dàng quản lý thông qua các lệnh systemd tiêu chuẩn như được hiển thị.

Để ngừng chạy dịch vụ MongoDB, hãy chạy lệnh sau.

$ sudo systemctl stop mongodb	

Để bắt đầu một dịch vụ MongoDB, hãy nhập lệnh sau.

$ sudo systemctl start mongodb

Để khởi động lại dịch vụ MongoDB, hãy nhập lệnh sau.

$ sudo systemctl restart mongodb	

Để tắt dịch vụ MongoDB được khởi động tự động, hãy nhập lệnh sau.

$ sudo systemctl disable mongodb	

Để bật lại dịch vụ MongoDB, hãy nhập lệnh sau.

$ sudo systemctl enable mongodb	

Bước 3:Bật quyền truy cập MongoDB từ xa trên tường lửa

5. Theo mặc định MongoDB chạy trên cổng 27017 , để cho phép truy cập từ mọi nơi bạn có thể sử dụng.

$ sudo ufw allow 27017

Nhưng cho phép truy cập vào MongoDB từ khắp mọi nơi cho phép truy cập không hạn chế vào dữ liệu cơ sở dữ liệu. Vì vậy, tốt hơn hết bạn nên cấp quyền truy cập vào vị trí địa chỉ IP cụ thể cho cổng của MongoDB mặc định bằng cách sử dụng lệnh sau.

$ sudo ufw allow from your_server_IP/32 to any port 27017 
$ sudo ufw status

6. Theo mặc định, cổng 27017 là lượt nghe trên địa chỉ địa phương 127.0.0.1 chỉ còn. Để cho phép kết nối MongoDB từ xa, bạn cần thêm địa chỉ IP máy chủ của mình vào /etc/mongodb.conf tệp cấu hình như được hiển thị.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Lưu tệp, thoát khỏi trình chỉnh sửa và khởi động lại MongoDB.

$ sudo systemctl restart mongodb	

Bước 4:Tạo mật khẩu và người dùng gốc cho cơ sở dữ liệu MongoDB

7. Theo mặc định MongoDB đi kèm với xác thực người dùng bị vô hiệu hóa, do đó, nó bắt đầu mà không có kiểm soát truy cập. Để khởi chạy mongo shell , chạy lệnh sau.

$ mongo 

8. Sau khi bạn đã kết nối với mongo shell , bạn có thể liệt kê tất cả các cơ sở dữ liệu có sẵn bằng lệnh sau.

> show dbs

9. Để bật kiểm soát truy cập trên triển khai MongoDB của bạn để thực thi xác thực; yêu cầu người dùng tự nhận dạng mỗi khi họ kết nối với máy chủ cơ sở dữ liệu.

MongoDB sử dụng Cơ chế xác thực phản hồi thử thách muối ( LỪA ĐẢO ) cơ chế xác thực theo mặc định. Sử dụng SCRAM , MongoDB xác minh thông tin đăng nhập người dùng được cung cấp dựa trên tên, mật khẩu và cơ sở dữ liệu xác thực của người dùng (cơ sở dữ liệu mà người dùng được tạo và cùng với tên người dùng, dùng để xác định người dùng).

Bạn cần tạo quản trị viên người dùng (tương tự như người dùng gốc trong MySQL / MariaDB ) trong cơ sở dữ liệu quản trị. Người dùng này có thể quản lý người dùng và các vai trò, chẳng hạn như tạo người dùng, cấp hoặc thu hồi vai trò từ người dùng và tạo hoặc sửa đổi vai trò hải quan.

Trước tiên, hãy chuyển sang quản trị viên cơ sở dữ liệu, sau đó tạo người dùng gốc bằng cách sử dụng các lệnh sau.

> use admin 
> db.createUser({user:"root", pwd:"[email protected]!#@%$admin1", roles:[{role:"root", db:"admin"}]})

Bây giờ thoát khỏi trình bao mongo để kích hoạt xác thực như được giải thích tiếp theo.

10. mongodb phiên bản đã được bắt đầu mà không có --auth tùy chọn dòng lệnh. Bạn cần bật xác thực người dùng bằng cách chỉnh sửa /lib/systemd/system/mongod.service , trước tiên hãy mở tệp để chỉnh sửa như vậy.

$ sudo vim /lib/systemd/system/mongodb.service 

Trong [Service] phần cấu hình, tìm tham số ExecStart .

ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

Thay đổi nó thành như sau:

ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

Lưu tệp và thoát khỏi nó.

11. 8. Sau khi thực hiện các thay đổi đối với tệp cấu hình, hãy chạy ‘ systemctl daemon-reload ‘Để tải lại các đơn vị và khởi động lại dịch vụ MongoDB và kiểm tra trạng thái của nó như sau.

$ systemctl daemon-reload
$ sudo systemctl restart mongodb	
$ sudo systemctl status mongodb	

12. Bây giờ khi bạn cố gắng kết nối với mongodb , bạn phải xác thực mình là người dùng MongoDB. Ví dụ:

$ mongo -u "root" -p --authenticationDatabase "admin"

Lưu ý :Bạn không nên nhập mật khẩu của mình trên dòng lệnh vì mật khẩu này sẽ được lưu trữ trong tệp lịch sử trình bao và kẻ tấn công có thể xem lại sau này.

Đó là tất cả! MongoDB là một hệ thống quản lý cơ sở dữ liệu No-SQL hiện đại, mã nguồn mở, cung cấp hiệu suất cao, tính sẵn sàng cao và tự động mở rộng quy mô.

Trong bài viết này, chúng tôi đã giải thích cách cài đặt và bắt đầu với MongoDB trong Ubuntu 18.04 . Nếu bạn có bất kỳ thắc mắc nào, hãy sử dụng mẫu bình luận bên dưới để liên hệ với chúng tôi.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo cố gắng kết nối tự động với cổng 27017 (localhost)

  2. Làm thế nào để giải quyết vấn đề liên quan đến mongoDB một cách hiệu quả?

  3. MongoDB dropIndexes ()

  4. So sánh hiệu suất MongoDB trên đám mây công cộng:AWS, Azure &DigitalOcean

  5. Tài nguyên MongoDB hàng đầu