Hướng dẫn cài đặt mongodb trên windows Informational
Ở bài số 1, Tui đã hướng dẫn các bạn cách tải và cài đặt MongoDB Enterprise Server và Compass rồi, tuy nhiên nó chưa chạy được. Ta cần cấu hình Service cho MongoDB để nó tự động chạy khi máy tính mở, cũng như luôn start 24/7. Các bạn thực hiện y xì theo 4 bước như Tui hướng dẫn trong này là OK á. Show
Bước 1: Tạo 2 thư mục trong ổ C (ổ nào là tùy ý ta): C:/data/db và C:/data/log Hình minh họa: Bước 2: Tạo file cấu hình tên là mongod.cfg, lưu vào nơi cài đặt MongoDB Server (C:\Program Files\MongoDB\Server\3.6), xem hình chụp dưới đây (ta cứ tạo 1 file txt bình thường, nhập liệu xong đổi đuôi thành cfg):Nội dung file cấu hình như dưới đây. Chú ý port mặc định là 27017, bindIp lấy localhost, 127.0.0.1 đồng thời lấy Ip của máy server hiện tại đang cài đặt MongoDB (10.11.35.45 là địa chỉ IP của máy Server mà bạn cài Mongo, cấu hình như thế này thì mới Remote connection được, vì mặc định Mongo cấm remote connection. Lưu ý nếu bạn chỉ cấu hình trên laptop, máy tính để bàn thì chỉ được phép chứa localhost, 127.0.0.1). Chú ý nếu nhập không đúng Ip, start Service sẽ bị báo lỗi: network interfacesnet: port: 27017 bindIp: localhost,127.0.0.1,10.11.35.45 systemLog: storage:
path và dbpath ta đã tạo ở bước 1.Nếu không biết gõ lệnh thì có thể tải mẫu script ở đây rồi sửa lại IP Mongod.cfg Bước 3: Cài đặt MongoDB Service Mở Command line dưới quyền Admistrator, chạy lệnh sau: Chi tiết lệnh (các bạn copy vào):“C:\Program Files\MongoDB\Server\3.6\bin\mongod.exe” –config “C:\Program Files\MongoDB\Server\3.6\mongod.cfg” –install Bước 4: Chạy Service MongoDB gõ lệnh: net start MongoDB Các bận thấy nó báo như bên dưới là thành công Sau khi chạy Service thành công, bạn có thể kiểm tra lại bằng cách vào Service của Windows:Như vậy ta đã cấu hình chạy thành công Service cho MongoDB. Bây giờ có thể kết nối vào MongoDB bằng công cụ Compass: Nhập đúng Hostname (localhost hoặc 127.0.0.1 hoặc IP của Public server của bạn) + port (27017) rồi bấm CONNECT, kết quả (vì máy Tui có sẵn một số CSDL nên bạn thấy như bên dưới, còn của bạn lần đầu thì nó trống trơn chỗ đó):Như vậy ta cấu hình và chạy Service MongoDB thành công Bài học sau Tui sẽ hướng dẫn cách sử dụng Compass cơ bản, để các bạn có thể biết cách tạo Cơ sở dữ liệu, collection, document…. cũng như một số thao tác tìm kiếm. MongoDB là một cơ sở dữ liệu được sử dụng trong nhiều ứng dụng, web,... Nó là cơ sở dữ liệu NoSQL vì không dựa trên cấu trúc cơ sở dữ liệu quan hệ dựa trên bảng truyền thống. Thay vào đó, nó sử dụng các tài liệu giống JSON với các lược đồ động. Theo mặc định MongoDB không bật xác thực theo mặc định, có nghĩa là bất kỳ người dùng nào có quyền truy cập vào máy chủ cơ sở dữ liệu được cài đặt đều có thể thêm và xóa dữ liệu mà không bị hạn chế. Để bảo mật lỗ hổng này, hướng dẫn này sẽ hướng dẫn bạn cách tạo người dùng quản trị và kích hoạt xác thực. Điều kiện tiên quyếtMáy chủ chạy Ubuntu 22.04. MongoDB được cài đặt trên máy chủ của chúng ta. Nếu máy chủ chúng ta chưa cài đặt Mongo thì có thể tham khảo hướng dẫn sau : Hướng dẫn cài đặt MongoDB trên Ubuntu 22.04 LTS . Tạo user quản trịĐể tạo user quản trị, đăng nhập vào MongoDB shell, hãy chạy lệnh sau bên dưới. MongoDB shell sẽ được thực thi. Kết quả Thực hiện 1 câu truy vấn dữ liệu như sau: Kết quả trả về toàn bộ database có trên máy chủ của chúng ta: Kết quả Trong kết quả trên thì chỉ các cơ sở dữ liệu mặc định mới xuất hiện. Tuy nhiên, nếu chúng ta có bất kỳ cơ sở dữ liệu nào chứa dữ liệu nhạy cảm trên hệ thống, thì bất kỳ người dùng nào cũng có thể tìm thấy chúng bằng lệnh này. Và MongoDB Shell sẽ cảnh báo chúng ta "The server generated these startup warnings when booting: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted" như vậy bất kỳ hành động nào liên quan đến đọc, ghi dữ liệu hoặc config sẽ đều không bị cấm. Như vậy để giảm thiểu lỗ hổng này cần tiến hành tạo user quản trị, trước tiên ta cần kết nối đến Mongo shell: Sau khi đã truy cập MongoDB Shell thực thi lệnh sau để quyền hạn của user được gán thông qua role userAdminAnyDatabase. DB admin được chỉ định là nơi sẽ lưu trữ thông tin xác thực: Kết quả trả về: Kết quả Đến đây chúng ta đã kết thúc quá trình tạo tài khoản quản trị cho Mongodb, chúng ta có thể thoát khỏi Mongodb shell bằng cách dùng lệnh exit hoặc CTRL+C Tại thời điểm này, user Bật AuthenticationĐể có thể bật Authentication chúng ta cần sửa file Chuyển đến dòng security, bỏ comment # và thêm |