MongoDB Atlas CLI: Quản lý cơ sở dữ liệu từ dòng lệnh
MongoDB Atlas CLI mang đến lựa chọn nhanh hơn so với giao diện web. Bạn có thể chạy và tự động hóa các tác vụ quản trị cơ sở dữ liệu trực tiếp từ terminal.
MongoDB Atlas là dịch vụ cơ sở dữ liệu trên đám mây cho phép bạn triển khai, quản lý và mở rộng cơ sở dữ liệu MongoDB. Bạn có thể quản lý Atlas qua Atlas UI (giao diện web) hoặc Atlas CLI, một công cụ dòng lệnh cho phép bạn thực hiện các tác vụ tương tự bằng lệnh.
MongoDB Atlas CLI mang đến lựa chọn nhanh hơn so với Atlas UI. Bạn có thể chạy và tự động hóa các tác vụ quản trị cơ sở dữ liệu trực tiếp từ terminal.
Trong bài viết này, tôi sẽ hướng dẫn bạn sử dụng Atlas CLI để quản lý cơ sở dữ liệu.
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn có:
Tài khoản MongoDB Atlas.
Kiến thức cơ bản về dòng lệnh.
Yêu cầu cài đặt Atlas CLI cho hệ điều hành của bạn.
Cấu trúc lệnh CLI
MongoDB Atlas CLI tuân theo cấu trúc lệnh nhất quán:
Manage clusters for your project. The clusters command provides access to your cluster configurations. You can create, edit, and delete clusters.
Usage:
atlas clusters [command]
Aliases:
clusters, cluster
Available Commands:
list Return all clusters for your project.
describe Return the details for the specified cluster for your project.
advancedSettings Manage advanced configuration settings for your cluster.
...
Flags:
-h, --helphelpfor clusters
Global Flags:
-P, --profile string Name of the profile to use from your configuration file. To learn about profiles for the Atlas CLI, see https://dochub.mongodb.org/core/atlas-cli-save-connection-settings.
Use "atlas clusters [command] --help"formore information about a command.Được hỗ trợ bởi
Tên lệnh, đối số và tên cờ trong Atlas CLI có phân biệt chữ hoa/thường. Hãy dùng đúng kiểu viết hoa như trong ví dụ—ví dụ, --orgId không phải --orgID.
Tạo một triển khai MongoDB
Triển khai (deployment) là một phiên bản MongoDB đang chạy để lưu trữ và phục vụ dữ liệu của bạn. Mỗi triển khai bao gồm máy chủ cơ sở dữ liệu, lưu trữ, mạng và sao lưu tự động. MongoDB Atlas xử lý quản trị hạ tầng, vì vậy bạn có thể tập trung sử dụng cơ sở dữ liệu thay vì duy trì máy chủ.
Lệnh atlas setup sẽ hướng dẫn bạn qua một quy trình tương tác. Nó yêu cầu bạn chọn cấu hình và tạo dự án, cấp phát cluster, cũng như cấu hình các thiết lập bảo mật cơ bản.
Xác thực với một triển khai hiện có
Nếu bạn đã có một triển khai MongoDB Atlas và muốn quản lý bằng CLI, bạn cần xác thực. Để đăng nhập, chạy:
Lệnh này yêu cầu bạn chọn loại xác thực, sau đó cung cấp một mã xác minh dùng một lần. Sao chép mã và dán vào trình duyệt khi được nhắc. Ví dụ:
atlas auth login
? Select authentication type: UserAccount
To verify your account, copy your one-time verification code:
QPWF-6GT4
Paste the code in the browser when prompted to activate your Atlas CLI. Your code will expire after 3 minutes.
To continue, go to https://account.mongodb.com/account/connect
Press Enter to open the browser and complete authentication...
Successfully logged in as [email protected].Được hỗ trợ bởi
Sau khi xác thực, bạn sẽ chọn tổ chức mặc định và định dạng đầu ra. CLI lưu phiên của bạn, nhưng sẽ hết hạn định kỳ. Khi thấy lỗi "session expired", hãy chạy lại atlas auth login.
Quản lý hồ sơ (profile) cho nhiều môi trường
Hồ sơ (profile) cho phép bạn quản lý nhiều môi trường MongoDB Atlas từ cùng một bản cài CLI. Mỗi hồ sơ lưu cài đặt kết nối cho một môi trường khác nhau như development, staging hoặc production.
Với hồ sơ, bạn có thể nhanh chóng chuyển đổi giữa các môi trường mà không cần xác thực lại hoặc thay đổi tệp cấu hình. Điều này hữu ích khi bạn duy trì các dự án hoặc tổ chức MongoDB Atlas tách biệt cho các giai đoạn khác nhau trong quy trình phát triển.
Một thực hành phổ biến là tạo các dự án Atlas riêng cho mỗi môi trường và dùng hồ sơ để quản lý—ví dụ:
Hồ sơ Development: Trỏ tới dự án dev của bạn với cluster M0 nhỏ để thử nghiệm.
Hồ sơ Staging: Trỏ tới dự án staging phản chiếu cấu hình production.
Hồ sơ Production: Trỏ tới dự án production với các cluster đạt chuẩn vận hành.
Tạo hồ sơ cho các môi trường khác nhau
Khi lần đầu chạy atlas auth login, CLI sẽ tạo một hồ sơ mặc định. Để tạo thêm hồ sơ cho môi trường khác, dùng cờ --profile:
Dự án (project) trong MongoDB Atlas tổ chức cluster, người dùng và thiết lập của bạn. Hãy coi một dự án như vùng chứa gom nhóm các tài nguyên cơ sở dữ liệu có liên quan.
Mỗi dự án có thể chứa nhiều cluster và có tập người dùng cùng cơ chế kiểm soát truy cập riêng. Sự tách biệt này hữu ích khi bạn có các ứng dụng, môi trường hoặc đội nhóm khác nhau cần tài nguyên cơ sở dữ liệu độc lập.
Hãy dùng tên dự án mô tả rõ mục đích, như "ecommerce-transactions" hoặc "mobile-app-staging".
[options] bao gồm các cờ để điều chỉnh cách và nơi tạo dự án. Ví dụ, bạn có thể chỉ định tổ chức để tạo dự án trong đó:
atlas projects create mobile-app-staging --orgId<organizationId>Được hỗ trợ bởi
Cờ --orgId chỉ định tổ chức nơi tạo dự án. Cờ này là bắt buộc trừ khi bạn đã đặt tổ chức mặc định. Bạn có thể chạy lệnh atlas organizations list để nhận danh sách tổ chức và Id của chúng.
In all examples, replace placeholders like <projectId>, <clusterName>, and <username> with your actual project, cluster, or user names and identifiers.Được hỗ trợ bởi
Trong lệnh này, cờ --provider chỉ định nhà cung cấp đám mây như AWS, GCP hoặc Azure. Cờ --region chỉ định khu vực triển khai cluster. Cờ --tier chỉ định kích thước cluster.
Nếu bạn chưa đặt dự án mặc định, hãy thêm cờ --projectId:
Bạn có thể tạm thời dừng một cluster mà không xóa nó. Việc này dừng hoạt động của cluster nhưng vẫn giữ dữ liệu và cấu hình:
atlas clusters pause <clusterName>--projectId<projectId>Được hỗ trợ bởi
Xóa cluster
Để xóa vĩnh viễn một cluster, chạy:
atlas clusters delete <clusterName>--projectId<projectId>Được hỗ trợ bởi
Sau khi tạo cluster, bạn phải cấu hình bảo mật mạng trước khi có thể kết nối.
Quản lý cấu hình danh sách truy cập IP
Danh sách truy cập IP kiểm soát địa chỉ IP nào có thể kết nối tới các cluster MongoDB Atlas của bạn. Mỗi dự án có thể có tối đa 200 mục danh sách truy cập IP. Bạn có thể thêm từng địa chỉ IP, dải IP theo CIDR, hoặc ID nhóm bảo mật AWS. Dải theo CIDR xác định một khối địa chỉ IP bằng IP cơ sở và tiền tố—ví dụ, 192.168.0.0/24. ID nhóm bảo mật AWS cho phép truy cập từ mọi tài nguyên trong nhóm bảo mật AWS đã chỉ định.
Để quản lý danh sách truy cập IP, bạn phải có quyền Project Owner đối với dự án.
Thêm địa chỉ IP vào danh sách truy cập
Để thêm địa chỉ IP hiện tại của bạn vào danh sách truy cập, chạy:
atlas accessLists create --currentIp--projectId<projectId>Được hỗ trợ bởi
Cờ --currentIp tự động thêm địa chỉ IP của máy đang chạy lệnh. Điều này hữu ích khi bạn cần truy cập nhanh từ máy phát triển.
Để thêm một địa chỉ IP cụ thể, chạy:
atlas accessLists create <ipAddress>--type ipAddress --projectId<projectId>Được hỗ trợ bởi
<ipAddress> là địa chỉ IP bạn muốn cho phép. Ví dụ:
MongoDB Atlas sẽ tự động xóa mục sau ngày giờ được chỉ định.
Liệt kê các mục danh sách truy cập IP
Để xem tất cả mục danh sách truy cập IP trong dự án của bạn, chạy:
atlas accessLists list --projectId<projectId>Được hỗ trợ bởi
Để xem chi tiết về một mục cụ thể, chạy:
atlas accessLists describe <entry>--projectId<projectId>Được hỗ trợ bởi
<entry> là địa chỉ IP, khối CIDR, hoặc ID nhóm bảo mật AWS bạn muốn xem.
Xóa mục danh sách truy cập IP
Để gỡ một địa chỉ IP khỏi danh sách truy cập, chạy:
atlas accessLists delete <entry>--projectId<projectId>Được hỗ trợ bởi
Quản lý người dùng và vai trò
Vai trò cấp quyền thực hiện một tập hành động trên tài nguyên cụ thể. Người dùng là thực thể được gán một hoặc nhiều vai trò xác định những gì họ có thể truy cập trong cơ sở dữ liệu.
Để cấu hình người dùng và vai trò cơ sở dữ liệu, bạn phải có quyền Organization Owner, Project Owner, hoặc Project Database Access Admin trong MongoDB Atlas.
[builtInRole] là một hoặc nhiều vai trò dựng sẵn để gán cho người dùng. [options] bao gồm các cờ chỉ định thông tin xác thực và cấu hình của người dùng. Ví dụ:
Cờ --username chỉ định tên người dùng. Cờ --password chỉ định mật khẩu. Cờ --role chỉ định vai trò để gán. Trong trường hợp này, tên người dùng là myUser, mật khẩu là myPassword.
Để liệt kê tất cả người dùng cơ sở dữ liệu trong dự án của bạn, chạy:
atlas dbusers delete <username>--projectId<projectId>Được hỗ trợ bởi
Quản lý vai trò
Có hai nhóm vai trò bạn có thể gán cho người dùng:
Vai trò dựng sẵn (Built-in)
Vai trò tùy chỉnh (Custom)
Vai trò dựng sẵn
Các vai trò dựng sẵn do MongoDB Atlas cung cấp. Chúng bao gồm các tập quyền phổ biến cho những trường hợp sử dụng khác nhau, như:
read: Cấp quyền chỉ đọc cho một cơ sở dữ liệu cụ thể.
readWrite: Cho phép đọc và sửa dữ liệu trong một cơ sở dữ liệu cụ thể.
readAnyDatabase: Cấp quyền chỉ đọc cho tất cả cơ sở dữ liệu trừ local và config.
readWriteAnyDatabase: Cấp quyền đọc/ghi cho tất cả cơ sở dữ liệu.
dbAdmin: Cấp quyền quản trị cho một cơ sở dữ liệu cụ thể, như tạo chỉ mục hoặc xem thống kê.
dbAdminAnyDatabase: Cấp quyền quản trị trên tất cả cơ sở dữ liệu.
clusterAdmin: Cho phép quản lý toàn bộ cluster, bao gồm replication và sharding.
userAdminAnyDatabase: Cho phép tạo và sửa tài khoản người dùng cùng vai trò trên tất cả cơ sở dữ liệu.
Bạn không thể sửa hoặc xóa vai trò dựng sẵn. Bạn chỉ có thể gán chúng cho người dùng. Để gán vai trò dựng sẵn khi tạo người dùng, chỉ định vai trò bằng cờ --role:
Để gán hoặc thay đổi vai trò của người dùng hiện có, chạy:
atlas dbusers update app-reader --role readWriteAnyDatabase --projectId<projectId>Được hỗ trợ bởi
Xem [Built-In Roles and Privileges](https://www.mongodb.com/docs/atlas/mongodb-users-roles-and-privileges/?utm_campaign=devrel&utm_source=third-party-content&utm_medium=cta&utm_content=atlas-cli-datacamp&utm_term=megan.grant) để biết thêm các vai trò dựng sẵn có thể gán.
Vai trò tùy chỉnh
MongoDB Atlas cho phép bạn tạo vai trò tùy chỉnh khi vai trò dựng sẵn không đáp ứng nhu cầu. Vai trò tùy chỉnh xác định một tập hành động đặc quyền phù hợp với yêu cầu của ứng dụng hoặc đội ngũ của bạn.
Khi tạo vai trò tùy chỉnh, hãy quyết định người dùng nên truy cập những bộ sưu tập (collection) nào và được phép thực hiện hành động gì trên tài nguyên—ví dụ, đọc, chèn, cập nhật hoặc xóa dữ liệu.
Trong định nghĩa đặc quyền của MongoDB, bạn phải dùng tên hành động đặc quyền viết hoa trong lệnh CLI, như FIND, không phải find. Xem Privilege Actions để biết thêm các hành động đặc quyền người dùng có thể thực hiện trên tài nguyên.
Bạn có thể quản lý vai trò tùy chỉnh bằng Atlas CLI.
Để tạo vai trò tùy chỉnh, chạy:
atlas customDbRoles create <roleName>[options]Được hỗ trợ bởi
<roleName> là tên vai trò tùy chỉnh bạn muốn tạo. [options] bao gồm các cờ chỉ định quyền của vai trò—ví dụ:
Lệnh trên cập nhật customAnalyticsRole hiện có để cấp thêm đặc quyền. [email protected] cho phép vai trò đọc tài liệu từ collection analytics, và [email protected] cho phép thêm tài liệu vào collection logs trong cơ sở dữ liệu myDatabase.
Cờ --projectId chỉ định vai trò thuộc dự án MongoDB Atlas nào.
Để xóa một vai trò tùy chỉnh, chạy:
atlas customDbRoles delete <roleName>--projectId<projectId>Được hỗ trợ bởi
Quy trình gán vai trò tùy chỉnh cho người dùng tương tự gán vai trò dựng sẵn. Dùng cờ --role với lệnh atlas dbusers create hoặc atlas dbusers update:
Sau khi tạo người dùng cơ sở dữ liệu và gán vai trò, bạn đã sẵn sàng kết nối tới cluster.
Lấy chuỗi kết nối
Chuỗi kết nối chứa thông tin mà ứng dụng của bạn cần để kết nối tới cluster Atlas. Chuỗi này bao gồm hostname của cluster, cơ sở dữ liệu xác thực và các tùy chọn kết nối.
Trước khi dùng chuỗi kết nối, hãy đảm bảo bạn đã cấu hình danh sách truy cập IP và tạo ít nhất một người dùng cơ sở dữ liệu.
Lấy chuỗi kết nối cho một cluster
Để lấy chuỗi kết nối cho một cluster, chạy:
atlas clusters connectionStrings describe <clusterName>--projectId<projectId>Được hỗ trợ bởi
Lệnh này trả về chuỗi kết nối SRV cho cluster của bạn.
Định dạng chuỗi kết nối
MongoDB Atlas cung cấp hai loại chuỗi kết nối:
Chuỗi kết nối chuẩn (mongodb://): Liệt kê tường minh tất cả nút của cluster. Dùng định dạng này khi bạn cần chỉ định từng địa chỉ máy chủ.
Chuỗi kết nối SRV (mongodb+srv://): Dùng DNS để tự động lấy thông tin cluster. Đây là định dạng được khuyến nghị vì nó tự động cập nhật nếu cấu hình cluster thay đổi.
Sử dụng chuỗi kết nối
Thay <username> và <password> trong chuỗi kết nối bằng thông tin xác thực người dùng cơ sở dữ liệu của bạn:
mongodb+srv://<username>:<password>@cluster0.example.mongodb.net/Được hỗ trợ bởi
Ví dụ, nếu tên người dùng của bạn là appUser và mật khẩu là securePass123:
Bạn có thể dùng chuỗi kết nối này với MongoDB Drivers, MongoDB Shell, hoặc các công cụ MongoDB khác để kết nối tới cluster.
Quản lý sao lưu
Sao lưu là bản sao dữ liệu cơ sở dữ liệu của bạn để khôi phục cluster khi dữ liệu bị mất hoặc hỏng. Atlas tự động tạo bản sao lưu theo lịch trình định kỳ.
Automated continuous backups are only available for M10+ dedicated clusters. M0 free-tier clusters do not have backup capabilities. M2/M5 shared clusters have basic cloud backups, but not continuous backup. For more information, see [Snapshots for Flex Clusters](https://www.mongodb.com/docs/atlas/backup-restore-cluster/?utm_campaign=devrel&utm_source=third-party-content&utm_medium=cta&utm_content=atlas-cli-datacamp&utm_term=megan.grant#snapshots-for-flex-clusters).Được hỗ trợ bởi
Để quản lý sao lưu, bạn phải có quyền Organization Owner hoặc Project Owner trong Atlas.
Tạo sao lưu theo yêu cầu
Để tạo bản sao lưu ngay lập tức, chạy:
atlas backups snapshots create <clusterName>--desc"Backup description"--projectId<projectId>Được hỗ trợ bởi
Trong lệnh trên, --desc là cờ bắt buộc mô tả snapshot.
Liệt kê các bản sao lưu khả dụng
Để liệt kê tất cả bản sao lưu cho một cluster, chạy:
atlas backups snapshots list <clusterName>--projectId<projectId>Được hỗ trợ bởi
Mô tả cấu hình sao lưu
Để xem thiết lập sao lưu cho một cluster, chạy:
atlas backups schedule describe <clusterName>--projectId<projectId>Được hỗ trợ bởi
Khôi phục từ sao lưu
Để khôi phục dữ liệu từ bản sao lưu, chạy:
atlas backups restores start <clusterName>--snapshotId<snapshotId>--targetClusterName<targetClusterName>--projectId<projectId>Được hỗ trợ bởi
Cờ --snapshotId chỉ định bản sao lưu cần khôi phục. Cờ --targetClusterName chỉ định tên cluster sẽ được khôi phục dữ liệu tới—ví dụ:
atlas backups snapshots delete <snapshotId>--projectId<projectId>Được hỗ trợ bởi
Kết luận
Trong bài viết này, tôi đã giới thiệu cấu trúc lệnh CLI, cách tạo triển khai, quản lý dự án và cluster, cấu hình người dùng và vai trò, cũng như quản lý sao lưu. Bạn có thể tự động hóa các thao tác này bằng cách kết hợp chúng trong các script, giúp quản lý nhiều môi trường dễ dàng hơn và tích hợp quản trị cơ sở dữ liệu vào quy trình phát triển.
FAQs
Tôi có cần xác thực mỗi lần dùng MongoDB Atlas CLI không?⌄
Không. CLI lưu phiên làm việc của bạn sau khi bạn chạy atlas auth login. Tuy nhiên, vì lý do bảo mật, phiên sẽ hết hạn theo định kỳ. Bạn chỉ cần xác thực lại khi thấy lỗi "session expired".
Tôi có thể dùng Atlas CLI với cluster free tier (M0) không?⌄
Có, bạn có thể quản lý các cluster free tier bằng MongoDB Atlas CLI cho hầu hết thao tác như tạo người dùng, quản lý vai trò và cấu hình cluster. Tuy nhiên, các thao tác sao lưu không khả dụng với cluster free hoặc shared tier.
Sự khác nhau giữa vai trò người dùng MongoDB Atlas và vai trò cơ sở dữ liệu là gì?⌄
Vai trò người dùng Atlas (như Organization Owner, Project Owner và Project Cluster Manager) kiểm soát ai có thể quản lý nền tảng MongoDB Atlas qua UI, CLI hoặc API. Vai trò cơ sở dữ liệu (như read, readWrite và vai trò tùy chỉnh) kiểm soát những gì người dùng cơ sở dữ liệu có thể làm khi họ kết nối tới MongoDB. Bạn cần vai trò người dùng Atlas phù hợp để tạo và gán vai trò cơ sở dữ liệu cho người dùng cơ sở dữ liệu.
Tôi có thể quản lý nhiều dự án MongoDB Atlas bằng cùng một bản cài CLI không?⌄
Có, bạn có thể quản lý nhiều dự án với một bản cài CLI. Bạn có thể đặt dự án mặc định trong quá trình xác thực, hoặc chỉ định dự án cần dùng bằng cách thêm cờ --projectId vào lệnh. Để làm việc với nhiều tổ chức, dùng cờ --orgId. Bạn có thể liệt kê tất cả dự án bằng atlas projects list và các tổ chức bằng atlas organizations list.
Tôi tìm ID tổ chức và ID dự án của mình ở đâu? ⌄
Chạy atlas organizations list để xem tất cả tổ chức và ID của bạn. Chạy atlas projects list để xem tất cả dự án và ID của chúng.
MongoDB Atlas là dịch vụ cơ sở dữ liệu trên đám mây cho phép bạn triển khai, quản lý và mở rộng cơ sở dữ liệu MongoDB. Bạn có thể quản lý Atlas qua Atlas UI (giao diện web) hoặc Atlas CLI, một công cụ dòng lệnh cho phép bạn thực hiện các tác vụ tương tự bằng lệnh.
MongoDB Atlas CLI mang đến lựa chọn nhanh hơn so với Atlas UI. Bạn có thể chạy và tự động hóa các tác vụ quản trị cơ sở dữ liệu trực tiếp từ terminal.
Trong bài viết này, tôi sẽ hướng dẫn bạn sử dụng Atlas CLI để quản lý cơ sở dữ liệu.
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn có:
Cấu trúc lệnh CLI
MongoDB Atlas CLI tuân theo cấu trúc lệnh nhất quán:
Khi bạn chạy một lệnh không có subcommand hoặc cờ, CLI sẽ hiển thị thông tin trợ giúp bao gồm:
Ví dụ, nếu bạn chạy:
Bạn sẽ nhận được phản hồi tương tự như sau:
Tên lệnh, đối số và tên cờ trong Atlas CLI có phân biệt chữ hoa/thường. Hãy dùng đúng kiểu viết hoa như trong ví dụ—ví dụ,
--orgIdkhông phải--orgID.Tạo một triển khai MongoDB
Triển khai (deployment) là một phiên bản MongoDB đang chạy để lưu trữ và phục vụ dữ liệu của bạn. Mỗi triển khai bao gồm máy chủ cơ sở dữ liệu, lưu trữ, mạng và sao lưu tự động. MongoDB Atlas xử lý quản trị hạ tầng, vì vậy bạn có thể tập trung sử dụng cơ sở dữ liệu thay vì duy trì máy chủ.
Để tạo một triển khai MongoDB, cài đặt hoặc cập nhật Atlas CLI, sau đó chạy lệnh:
Lệnh atlas setup sẽ hướng dẫn bạn qua một quy trình tương tác. Nó yêu cầu bạn chọn cấu hình và tạo dự án, cấp phát cluster, cũng như cấu hình các thiết lập bảo mật cơ bản.
Xác thực với một triển khai hiện có
Nếu bạn đã có một triển khai MongoDB Atlas và muốn quản lý bằng CLI, bạn cần xác thực. Để đăng nhập, chạy:
Lệnh này yêu cầu bạn chọn loại xác thực, sau đó cung cấp một mã xác minh dùng một lần. Sao chép mã và dán vào trình duyệt khi được nhắc. Ví dụ:
Sau khi xác thực, bạn sẽ chọn tổ chức mặc định và định dạng đầu ra. CLI lưu phiên của bạn, nhưng sẽ hết hạn định kỳ. Khi thấy lỗi "session expired", hãy chạy lại
atlas auth login.Quản lý hồ sơ (profile) cho nhiều môi trường
Hồ sơ (profile) cho phép bạn quản lý nhiều môi trường MongoDB Atlas từ cùng một bản cài CLI. Mỗi hồ sơ lưu cài đặt kết nối cho một môi trường khác nhau như development, staging hoặc production.
Với hồ sơ, bạn có thể nhanh chóng chuyển đổi giữa các môi trường mà không cần xác thực lại hoặc thay đổi tệp cấu hình. Điều này hữu ích khi bạn duy trì các dự án hoặc tổ chức MongoDB Atlas tách biệt cho các giai đoạn khác nhau trong quy trình phát triển.
Một thực hành phổ biến là tạo các dự án Atlas riêng cho mỗi môi trường và dùng hồ sơ để quản lý—ví dụ:
Tạo hồ sơ cho các môi trường khác nhau
Khi lần đầu chạy
atlas auth login, CLI sẽ tạo một hồ sơ mặc định. Để tạo thêm hồ sơ cho môi trường khác, dùng cờ--profile:Lệnh này tạo hồ sơ tên "dev" và hướng dẫn bạn qua quy trình xác thực. Lặp lại cho từng môi trường:
Mỗi hồ sơ lưu thông tin xác thực, dự án mặc định và thiết lập tổ chức riêng.
Liệt kê các hồ sơ khả dụng
Để xem tất cả hồ sơ đã cấu hình, chạy:
Lệnh này hiển thị tất cả tên hồ sơ bạn đã tạo.
Xem chi tiết hồ sơ
Để xem cấu hình của một hồ sơ cụ thể, chạy:
Ví dụ:
Lệnh này hiển thị các thiết lập của hồ sơ, bao gồm ID tổ chức và dự án mặc định.
Chuyển đổi giữa các hồ sơ
Để dùng một hồ sơ cụ thể cho một lệnh, thêm cờ
--profile:Lệnh này liệt kê cluster sử dụng thông tin xác thực và thiết lập của hồ sơ production.
Bạn cũng có thể đặt một hồ sơ mặc định để không cần chỉ định trong mỗi lệnh:
Sau khi đặt mặc định, mọi lệnh sẽ dùng hồ sơ đó, trừ khi bạn ghi đè bằng cờ
--profile.Cập nhật thiết lập hồ sơ
Để sửa cấu hình của một hồ sơ, chạy:
Ví dụ, để đặt dự án mặc định cho hồ sơ dev:
Đổi tên hồ sơ
Để đổi tên một hồ sơ, chạy:
Ví dụ:
Quản lý dự án
Dự án (project) trong MongoDB Atlas tổ chức cluster, người dùng và thiết lập của bạn. Hãy coi một dự án như vùng chứa gom nhóm các tài nguyên cơ sở dữ liệu có liên quan.
Mỗi dự án có thể chứa nhiều cluster và có tập người dùng cùng cơ chế kiểm soát truy cập riêng. Sự tách biệt này hữu ích khi bạn có các ứng dụng, môi trường hoặc đội nhóm khác nhau cần tài nguyên cơ sở dữ liệu độc lập.
Tạo dự án
Để tạo dự án mới, chạy:
Hãy dùng tên dự án mô tả rõ mục đích, như "ecommerce-transactions" hoặc "mobile-app-staging".
[options]bao gồm các cờ để điều chỉnh cách và nơi tạo dự án. Ví dụ, bạn có thể chỉ định tổ chức để tạo dự án trong đó:Cờ
--orgIdchỉ định tổ chức nơi tạo dự án. Cờ này là bắt buộc trừ khi bạn đã đặt tổ chức mặc định. Bạn có thể chạy lệnhatlas organizations listđể nhận danh sách tổ chức vàIdcủa chúng.Cập nhật dự án
Để cập nhật thiết lập dự án, dùng:
Ví dụ, bạn có thể dùng cờ
--nameđể đổi tên dự án:Liệt kê dự án
Để liệt kê tất cả dự án trong tổ chức của bạn, dùng:
Lệnh trên dùng cờ
--orgIdđể chỉ định tổ chức cần liệt kê dự án:Bạn cũng có thể điều khiển định dạng đầu ra, ví dụ hiển thị kết quả ở dạng JSON:
Xóa dự án
Bạn có thể xóa một dự án bằng lệnh Atlas CLI.
Bạn không thể xóa dự án vẫn còn cluster hoạt động. Vì vậy, trước khi xóa dự án, hãy đảm bảo xóa tất cả cluster bên trong.
Quản lý cluster
Cluster là nhóm máy chủ MongoDB lưu trữ dữ liệu của bạn. Atlas quản lý hạ tầng, nhân bản (replication) và sao lưu cho cluster của bạn.
Tạo cluster
Để tạo một cluster mới, chạy:
[options]bao gồm các cờ chỉ định cấu hình cluster. Ví dụ, bạn có thể thêm tùy chọn để cấu hình nhà cung cấp đám mây, khu vực và hạng mức giá MongoDB:Trong lệnh này, cờ
--providerchỉ định nhà cung cấp đám mây như AWS, GCP hoặc Azure. Cờ--regionchỉ định khu vực triển khai cluster. Cờ--tierchỉ định kích thước cluster.Nếu bạn chưa đặt dự án mặc định, hãy thêm cờ
--projectId:Mô tả cluster
Để xem chi tiết về một cluster cụ thể, chạy:
Lệnh này hiển thị cấu hình, kích thước, khu vực và chuỗi kết nối của cluster.
Liệt kê cluster
Để liệt kê tất cả cluster trong dự án của bạn, chạy:
Cờ
--projectIdlà bắt buộc trừ khi bạn đã đặt dự án mặc định bằng:Tạm dừng cluster
Bạn có thể tạm thời dừng một cluster mà không xóa nó. Việc này dừng hoạt động của cluster nhưng vẫn giữ dữ liệu và cấu hình:
Xóa cluster
Để xóa vĩnh viễn một cluster, chạy:
Sau khi tạo cluster, bạn phải cấu hình bảo mật mạng trước khi có thể kết nối.
Quản lý cấu hình danh sách truy cập IP
Danh sách truy cập IP kiểm soát địa chỉ IP nào có thể kết nối tới các cluster MongoDB Atlas của bạn. Mỗi dự án có thể có tối đa 200 mục danh sách truy cập IP. Bạn có thể thêm từng địa chỉ IP, dải IP theo CIDR, hoặc ID nhóm bảo mật AWS. Dải theo CIDR xác định một khối địa chỉ IP bằng IP cơ sở và tiền tố—ví dụ,
192.168.0.0/24. ID nhóm bảo mật AWS cho phép truy cập từ mọi tài nguyên trong nhóm bảo mật AWS đã chỉ định.Để quản lý danh sách truy cập IP, bạn phải có quyền Project Owner đối với dự án.
Thêm địa chỉ IP vào danh sách truy cập
Để thêm địa chỉ IP hiện tại của bạn vào danh sách truy cập, chạy:
Cờ
--currentIptự động thêm địa chỉ IP của máy đang chạy lệnh. Điều này hữu ích khi bạn cần truy cập nhanh từ máy phát triển.Để thêm một địa chỉ IP cụ thể, chạy:
<ipAddress>là địa chỉ IP bạn muốn cho phép. Ví dụ:Cờ
--commentthêm mô tả giúp bạn nhận diện mục sau này.Để thêm một dải địa chỉ IP theo ký hiệu CIDR, chạy:
Ví dụ:
Tạo mục danh sách truy cập tạm thời
Để thêm một địa chỉ IP tự động hết hạn sau thời gian đặt trước, dùng cờ
--deleteAfter. Bạn có thể đặt ngày hết hạn tối đa bảy ngày kể từ hiện tại:Cờ
--deleteAfternhận ngày theo định dạng ISO-8601. Ví dụ:MongoDB Atlas sẽ tự động xóa mục sau ngày giờ được chỉ định.
Liệt kê các mục danh sách truy cập IP
Để xem tất cả mục danh sách truy cập IP trong dự án của bạn, chạy:
Để xem chi tiết về một mục cụ thể, chạy:
<entry>là địa chỉ IP, khối CIDR, hoặc ID nhóm bảo mật AWS bạn muốn xem.Xóa mục danh sách truy cập IP
Để gỡ một địa chỉ IP khỏi danh sách truy cập, chạy:
Quản lý người dùng và vai trò
Vai trò cấp quyền thực hiện một tập hành động trên tài nguyên cụ thể. Người dùng là thực thể được gán một hoặc nhiều vai trò xác định những gì họ có thể truy cập trong cơ sở dữ liệu.
Để cấu hình người dùng và vai trò cơ sở dữ liệu, bạn phải có quyền Organization Owner, Project Owner, hoặc Project Database Access Admin trong MongoDB Atlas.
Quản lý người dùng
Để tạo người dùng cơ sở dữ liệu, chạy:
[builtInRole]là một hoặc nhiều vai trò dựng sẵn để gán cho người dùng.[options]bao gồm các cờ chỉ định thông tin xác thực và cấu hình của người dùng. Ví dụ:Cờ
--usernamechỉ định tên người dùng. Cờ--passwordchỉ định mật khẩu. Cờ--rolechỉ định vai trò để gán. Trong trường hợp này, tên người dùng làmyUser, mật khẩu làmyPassword.Để liệt kê tất cả người dùng cơ sở dữ liệu trong dự án của bạn, chạy:
Để xem chi tiết về một người dùng cụ thể, chạy:
Bạn cũng có thể cập nhật người dùng. Ví dụ, để cập nhật mật khẩu, chạy:
Để cập nhật vai trò của người dùng, chạy:
Để xóa một người dùng cụ thể, chạy:
Quản lý vai trò
Có hai nhóm vai trò bạn có thể gán cho người dùng:
Vai trò dựng sẵn
Các vai trò dựng sẵn do MongoDB Atlas cung cấp. Chúng bao gồm các tập quyền phổ biến cho những trường hợp sử dụng khác nhau, như:
localvàconfig.Bạn không thể sửa hoặc xóa vai trò dựng sẵn. Bạn chỉ có thể gán chúng cho người dùng. Để gán vai trò dựng sẵn khi tạo người dùng, chỉ định vai trò bằng cờ
--role:Để gán hoặc thay đổi vai trò của người dùng hiện có, chạy:
Xem [Built-In Roles and Privileges](https://www.mongodb.com/docs/atlas/mongodb-users-roles-and-privileges/?utm_campaign=devrel&utm_source=third-party-content&utm_medium=cta&utm_content=atlas-cli-datacamp&utm_term=megan.grant) để biết thêm các vai trò dựng sẵn có thể gán.
Vai trò tùy chỉnh
MongoDB Atlas cho phép bạn tạo vai trò tùy chỉnh khi vai trò dựng sẵn không đáp ứng nhu cầu. Vai trò tùy chỉnh xác định một tập hành động đặc quyền phù hợp với yêu cầu của ứng dụng hoặc đội ngũ của bạn.
Khi tạo vai trò tùy chỉnh, hãy quyết định người dùng nên truy cập những bộ sưu tập (collection) nào và được phép thực hiện hành động gì trên tài nguyên—ví dụ, đọc, chèn, cập nhật hoặc xóa dữ liệu.
Trong định nghĩa đặc quyền của MongoDB, bạn phải dùng tên hành động đặc quyền viết hoa trong lệnh CLI, như FIND, không phải find. Xem Privilege Actions để biết thêm các hành động đặc quyền người dùng có thể thực hiện trên tài nguyên.
Bạn có thể quản lý vai trò tùy chỉnh bằng Atlas CLI.
Để tạo vai trò tùy chỉnh, chạy:
<roleName>là tên vai trò tùy chỉnh bạn muốn tạo.[options]bao gồm các cờ chỉ định quyền của vai trò—ví dụ:Trong lệnh trên:
customAnalyticsRolelà tên vai trò tùy chỉnh mới. Bạn có thể chọn bất kỳ tên mô tả nào phản ánh mục đích của vai trò.--privilegechỉ định các hành động trên tài nguyên mà vai trò được phép thực hiện.[email protected], trong đó@tách hành động và tài nguyên.FINDlà một hành động đặc quyền được MongoDB công nhận.myDatabase.userslà tài nguyên mà đặc quyền áp dụng—trong trường hợp này là collection users trong cơ sở dữ liệumyDatabase.Để xem chi tiết về vai trò tùy chỉnh, chạy:
Lệnh trên hiển thị tất cả vai trò tùy chỉnh và quyền của chúng.
Để cập nhật vai trò tùy chỉnh, chạy:
[options]bao gồm các cờ chỉ định nội dung cần cập nhật. Ví dụ, để thêm đặc quyền mới cho vai trò hiện có, chạy:Lệnh trên cập nhật
customAnalyticsRolehiện có để cấp thêm đặc quyền.[email protected]cho phép vai trò đọc tài liệu từ collectionanalytics, và[email protected]cho phép thêm tài liệu vào collectionlogstrong cơ sở dữ liệumyDatabase.Cờ
--projectIdchỉ định vai trò thuộc dự án MongoDB Atlas nào.Để xóa một vai trò tùy chỉnh, chạy:
Quy trình gán vai trò tùy chỉnh cho người dùng tương tự gán vai trò dựng sẵn. Dùng cờ
--rolevới lệnhatlas dbusers createhoặcatlas dbusers update:Sau khi tạo người dùng cơ sở dữ liệu và gán vai trò, bạn đã sẵn sàng kết nối tới cluster.
Lấy chuỗi kết nối
Chuỗi kết nối chứa thông tin mà ứng dụng của bạn cần để kết nối tới cluster Atlas. Chuỗi này bao gồm hostname của cluster, cơ sở dữ liệu xác thực và các tùy chọn kết nối.
Trước khi dùng chuỗi kết nối, hãy đảm bảo bạn đã cấu hình danh sách truy cập IP và tạo ít nhất một người dùng cơ sở dữ liệu.
Lấy chuỗi kết nối cho một cluster
Để lấy chuỗi kết nối cho một cluster, chạy:
Lệnh này trả về chuỗi kết nối SRV cho cluster của bạn.
Định dạng chuỗi kết nối
MongoDB Atlas cung cấp hai loại chuỗi kết nối:
Chuỗi kết nối chuẩn (
mongodb://): Liệt kê tường minh tất cả nút của cluster. Dùng định dạng này khi bạn cần chỉ định từng địa chỉ máy chủ.Chuỗi kết nối SRV (
mongodb+srv://): Dùng DNS để tự động lấy thông tin cluster. Đây là định dạng được khuyến nghị vì nó tự động cập nhật nếu cấu hình cluster thay đổi.Sử dụng chuỗi kết nối
Thay
<username>và<password>trong chuỗi kết nối bằng thông tin xác thực người dùng cơ sở dữ liệu của bạn:Ví dụ, nếu tên người dùng của bạn là
appUservà mật khẩu làsecurePass123:Bạn có thể dùng chuỗi kết nối này với MongoDB Drivers, MongoDB Shell, hoặc các công cụ MongoDB khác để kết nối tới cluster.
Quản lý sao lưu
Sao lưu là bản sao dữ liệu cơ sở dữ liệu của bạn để khôi phục cluster khi dữ liệu bị mất hoặc hỏng. Atlas tự động tạo bản sao lưu theo lịch trình định kỳ.
Để quản lý sao lưu, bạn phải có quyền Organization Owner hoặc Project Owner trong Atlas.
Tạo sao lưu theo yêu cầu
Để tạo bản sao lưu ngay lập tức, chạy:
Trong lệnh trên,
--desclà cờ bắt buộc mô tả snapshot.Liệt kê các bản sao lưu khả dụng
Để liệt kê tất cả bản sao lưu cho một cluster, chạy:
Mô tả cấu hình sao lưu
Để xem thiết lập sao lưu cho một cluster, chạy:
Khôi phục từ sao lưu
Để khôi phục dữ liệu từ bản sao lưu, chạy:
Cờ
--snapshotIdchỉ định bản sao lưu cần khôi phục. Cờ--targetClusterNamechỉ định tên cluster sẽ được khôi phục dữ liệu tới—ví dụ:Xóa sao lưu
Để xóa một bản sao lưu, chạy:
Kết luận
Trong bài viết này, tôi đã giới thiệu cấu trúc lệnh CLI, cách tạo triển khai, quản lý dự án và cluster, cấu hình người dùng và vai trò, cũng như quản lý sao lưu. Bạn có thể tự động hóa các thao tác này bằng cách kết hợp chúng trong các script, giúp quản lý nhiều môi trường dễ dàng hơn và tích hợp quản trị cơ sở dữ liệu vào quy trình phát triển.