MongoDB Atlas 是一项基于云的数据库服务,可让您部署、管理并扩展 MongoDB 数据库。您可以通过基于网页的 Atlas UI 管理 Atlas,或使用 Atlas CLI——一款命令行工具,通过命令完成同样的任务。
MongoDB Atlas CLI 是 Atlas UI 的更快速替代方式。您可以直接在终端中运行并自动化数据库管理任务。
本文将带您使用 Atlas CLI 管理数据库。
前提条件
开始之前,请确保您具备:
一个 MongoDB Atlas 账户。
基本的命令行使用经验。
适用于您操作系统的 Atlas CLI 安装要求。
CLI 命令结构
MongoDB Atlas CLI 遵循一致的命令结构:
atlas [ command] [ subcommand] [ flags] 技术支持
在不带任何子命令或参数时运行命令,CLI 会显示帮助信息,其中包括:
用法 :如何使用该命令。
别名 :该命令的替代名称。
可用命令 :可运行的子命令。
标志 :特定命令可用的选项。
全局标志 :在所有 CLI 命令中均可使用的选项。
例如,如果您运行:
atlas clusters技术支持
您将看到类似如下的响应:
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, --help help for 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" for more information about a command.技术支持
Atlas CLI 中的命令名、参数和标志名区分大小写。请按照示例中的大小写精确输入——例如使用 --orgId 而不是 --orgID。
创建 MongoDB 部署
部署是一个正在运行的 MongoDB 实例,用于存储和提供您的数据。每个部署包含数据库服务器、存储、网络以及自动备份。MongoDB Atlas 负责基础设施管理,您可以专注于使用数据库,而无需维护服务器。
要创建 MongoDB 部署,请先安装或更新 Atlas CLI ,然后运行以下命令:
atlas setup技术支持
atlas setup 命令将引导您完成交互式流程。它会提示您进行配置选择,并创建项目、预配集群,同时配置基础安全设置。
对现有部署进行身份验证
如果您已有 MongoDB Atlas 部署并希望通过 CLI 管理,您需要先进行身份验证。要登录,请运行:
atlas auth login技术支持
该命令会提示您选择身份验证类型,然后提供一次性验证码。复制该验证码,并在浏览器提示时粘贴。例如:
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] .技术支持
完成身份验证后,您将选择默认的组织和输出格式。CLI 会保存您的会话,但会定期过期。当您看到 "session expired" 错误时,请再次运行 atlas auth login。
为多个环境管理配置文件
配置文件可让您在同一 CLI 安装中管理多个 MongoDB Atlas 环境。每个配置文件都存储一个环境的连接设置,例如开发、预发布或生产。
借助配置文件,您可以在环境之间快速切换,而无需重新认证或更改配置文件。这在您为开发流程的不同阶段维护独立的 MongoDB Atlas 项目或组织时尤其有用。
常见做法是为每个环境创建单独的 Atlas 项目,并用配置文件进行管理,例如:
开发配置文件 :指向用于测试的小型 M0 集群的开发项目。
预发布配置文件 :指向与生产配置一致的预发布项目。
生产配置文件 :指向具有生产级集群的生产项目。
为不同环境创建配置文件
首次运行 atlas auth login 时,CLI 会创建默认配置文件。要为其他环境创建更多配置文件,请使用 --profile 标志:
atlas auth login --profile dev技术支持
这会创建名为 "dev" 的配置文件,并引导您完成认证流程。对每个环境重复此操作:
atlas auth login --profile staging
atlas auth login --profile production技术支持
每个配置文件都会保存各自的身份验证凭据、默认项目和组织设置。
列出可用配置文件
要查看所有已配置的配置文件,请运行:
atlas config list技术支持
这将显示您创建的所有配置文件名称。
查看配置文件详情
要查看某个配置文件的配置,请运行:
atlas config describe < profileName> 技术支持
例如:
atlas config describe dev技术支持
这将显示该配置文件的设置,包括默认组织和项目 ID。
在配置文件之间切换
要在命令中使用特定配置文件,请添加 --profile 标志:
atlas clusters list --profile production技术支持
这将使用生产配置文件的凭据和设置列出集群。
您也可以设置默认配置文件,这样无需在每个命令中指定:
atlas config set --profile staging技术支持
设置默认后,所有命令都会使用该配置文件,除非您通过 --profile 标志覆盖。
更新配置文件设置
要修改配置文件的配置,请运行:
atlas config set < setting> < value> --profile < profileName> 技术支持
例如,为 dev 配置文件设置默认项目:
atlas config set project_id 5f8e8d9a1b2c3d4e5f6g7h8i --profile dev技术支持
重命名配置文件
要重命名配置文件,请运行:
atlas config rename < oldName> < newName> 技术支持
例如:
atlas config rename dev development技术支持
管理项目
MongoDB Atlas 中的项目用于组织您的集群、用户和设置。可以将项目视为将相关数据库资源归集到一起的容器。
每个项目可以包含多个集群,并拥有自己的一套用户和访问控制。当您有不同的应用、环境或团队需要隔离的数据库资源时,这种分离非常有用。
创建项目
要创建新项目,请运行:
atlas projects create < projectName> [ options] 技术支持
使用能体现项目用途的描述性名称,例如 "ecommerce-transactions" 或 "mobile-app-staging"。
[options] 包含修改项目创建方式和位置的标志。例如,您可以指定要在哪个组织中创建项目:
atlas projects create mobile-app-staging --orgId < organizationId> 技术支持
--orgId 标志用于指定要在其中创建项目的组织。除非您已设置默认组织,否则这是必填项。您可以运行 atlas organizations list 命令来获取组织及其 Id 列表。
In all examples, replace placeholders like <projectId>, <clusterName>, and <username> with your actual project, cluster, or user names and identifiers.技术支持
更新项目
要更新项目设置,请使用:
atlas projects update < projectId> [ options] 技术支持
例如,您可以使用 --name 标志来更改项目名称:
atlas projects update < projectId> --name newProjectName技术支持
列出项目
要列出组织中的所有项目,请使用:
atlas projects list [ options] 技术支持
上述命令可将 --orgId 作为选项,用于指定要从哪个组织列出项目:
atlas projects list --orgId < organizationId> 技术支持
您也可以控制输出格式,例如以 JSON 显示结果:
atlas projects list --output json技术支持
删除项目
您可以使用 Atlas CLI 命令删除项目。
atlas projects delete < projectId> --orgId < organizationId> 技术支持
无法删除仍包含活动集群的项目。因此,在删除项目之前,请确保先删除其中的所有集群。
管理集群
集群是存储您数据的一组 MongoDB 服务器。Atlas 负责管理集群的基础设施、复制和备份。
创建集群
要创建新集群,请运行:
atlas clusters create < clusterName> [ options] 技术支持
[options] 包含用于指定集群配置的标志。例如,您可以添加选项来配置云服务商、区域和 MongoDB 价格层级:
atlas clusters create myCluster --provider AWS --region US_EAST_1 --tier M0技术支持
在该命令中,--provider 标志指定云服务商,例如 AWS、GCP 或 Azure。--region 标志指定集群部署的区域。--tier 标志指定集群规模。
如果您尚未设置默认项目,请包含 --projectId 标志:
atlas clusters create myCluster --projectId < projectId> --provider AWS --region US_EAST_1 --tier M0技术支持
查看集群详情
要查看特定集群的详细信息,请运行:
atlas clusters describe < clusterName> --projectId < projectId> 技术支持
该命令会显示集群的配置、规模、区域以及连接字符串。
列出集群
要列出项目中的所有集群,请运行:
atlas clusters list --projectId < projectId> 技术支持
除非您已使用以下命令设置默认项目,否则需要 --projectId 标志:
atlas config set project_id < projectId> 技术支持
暂停集群
您可以在不删除集群的情况下临时暂停它。这会停止集群的运行,但会保留您的数据和配置:
atlas clusters pause < clusterName> --projectId < projectId> 技术支持
删除集群
要永久删除集群,请运行:
atlas clusters delete < clusterName> --projectId < projectId> 技术支持
创建集群后,您必须先配置网络安全,才能连接到它。
管理 IP 访问列表配置
IP 访问列表用于控制哪些 IP 地址可以连接到您的 MongoDB Atlas 集群。每个项目最多可有 200 条 IP 访问列表条目。您可以添加单个 IP 地址、CIDR 表示的地址段,或 AWS 安全组 ID。CIDR 表示的地址段使用基础 IP 和前缀定义一个 IP 地址块,例如 192.168.0.0/24。AWS 安全组 ID 允许来自指定 AWS 安全组内所有资源的访问。
要管理 IP 访问列表,您必须在项目中拥有项目所有者(Project Owner) 权限。
将 IP 地址添加到访问列表
要将您当前的 IP 地址添加到访问列表,请运行:
atlas accessLists create --currentIp --projectId < projectId> 技术支持
--currentIp 标志会自动添加运行该命令的机器的 IP 地址。当您需要从开发机器快速访问时,这非常实用。
要添加特定 IP 地址,请运行:
atlas accessLists create < ipAddress> --type ipAddress --projectId < projectId> 技术支持
<ipAddress> 是您希望允许的 IP 地址。例如:
atlas accessLists create 192.0 .2.15 --type ipAddress --comment "Office network" --projectId < projectId> 技术支持
--comment 标志可添加描述,便于您后续识别该条目。
要使用 CIDR 表示法添加一段 IP 地址,请运行:
atlas accessLists create < cidrBlock> --type cidrBlock --projectId < projectId> 技术支持
例如:
atlas accessLists create 73.231 .201.0/24 --type cidrBlock --comment "Development servers" --projectId < projectId> 技术支持
创建临时访问列表条目
要添加在设定时间后自动过期的 IP 地址,请使用 --deleteAfter 标志。您可以将过期时间设置为未来七天内的任意时间:
atlas accessLists create < ipAddress> --type ipAddress --deleteAfter < isoDateTime> --projectId < projectId> 技术支持
--deleteAfter 标志接受 ISO-8601 格式的日期。例如:
atlas accessLists create 192.0 .2.20 --type ipAddress --deleteAfter 2025 -12-31T23:59:59Z --comment "Temporary contractor access" --projectId < projectId> 技术支持
到达指定日期和时间后,MongoDB Atlas 会自动移除该条目。
列出 IP 访问列表条目
要查看项目中的所有 IP 访问列表条目,请运行:
atlas accessLists list --projectId < projectId> 技术支持
要查看特定条目的详细信息,请运行:
atlas accessLists describe < entry> --projectId < projectId> 技术支持
<entry> 是您想查看的 IP 地址、CIDR 段或 AWS 安全组 ID。
删除 IP 访问列表条目
要从访问列表中移除某个 IP 地址,请运行:
atlas accessLists delete < entry> --projectId < projectId> 技术支持
管理用户和角色
角色为特定资源上的一组操作授予权限。用户是被授予一个或多个角色的实体,这些角色决定了其在数据库中的访问权限。
要配置数据库用户和角色,您必须在 MongoDB Atlas 中拥有组织所有者(Organization Owner) 、项目所有者(Project Owner) 或项目数据库访问管理员(Project Database Access Admin) 权限。
管理用户
要创建数据库用户,请运行:
atlas dbusers create [ builtInRole] [ options] 技术支持
[builtInRole] 是要分配给用户的一个或多个内置角色。[options] 包含用于指定用户凭据和配置的标志。例如:
atlas dbusers create --username myUser --password myPassword --role readWriteAnyDatabase --projectId < projectId> 技术支持
--username 标志用于指定用户名。--password 标志用于指定密码。--role 标志用于指定要分配的角色。在此示例中,用户名为 myUser,密码为 myPassword。
要列出项目中的所有数据库用户,请运行:
atlas dbusers list --projectId < projectId> 技术支持
要查看特定数据库用户的详细信息,请运行:
atlas dbusers describe < username> --projectId < projectId> 技术支持
您也可以更新数据库用户。例如,要更新用户密码,请运行:
atlas dbusers update myUser --password newPassword --projectId < projectId> 技术支持
要更新用户的角色,请运行:
atlas dbusers update myUser --role readWriteAnyDatabase --role dbAdmin --projectId < projectId> 技术支持
要删除特定数据库用户,请运行:
atlas dbusers delete < username> --projectId < projectId> 技术支持
管理角色
您可以为用户分配两类角色:
内置角色
内置角色是 MongoDB Atlas 预定义的角色。它们涵盖了不同数据库用例的常见权限集,例如:
read: 对特定数据库授予只读访问权限。
readWrite :允许读取并修改特定数据库中的数据。
readAnyDatabase: 对除 local 和 config 外的所有数据库授予只读权限。
readWriteAnyDatabase :对所有数据库授予读写权限。
dbAdmin :为特定数据库提供管理权限,例如创建索引或查看统计信息。
dbAdminAnyDatabase :对所有数据库授予管理权限。
clusterAdmin :允许管理整个集群,包括复制和分片。
userAdminAnyDatabase :允许在所有数据库中创建和修改用户账户及角色。
您不能编辑或删除内置角色,只能将其分配给用户。创建用户时要分配内置角色,请使用 --role 标志指定角色:
atlas dbusers create --username app-reader --password myPassword --role readAnyDatabase --projectId < projectId> 技术支持
要为现有用户分配或更改角色,请运行:
atlas dbusers update app-reader --role readWriteAnyDatabase --projectId < projectId> 技术支持
有关可分配给用户的更多内置角色,请参阅 [内置角色与权限](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)。
自定义角色
当内置角色无法满足需求时,MongoDB Atlas 允许您创建自定义角色。自定义角色定义了一组与您的应用或团队需求匹配的特定权限操作。
创建自定义角色时,请确定用户应访问哪些集合,以及可对资源执行哪些操作——例如读取、插入、更新或删除数据。
在 MongoDB 权限定义中,您必须在 CLI 命令中使用大写的权限操作名称,例如使用 FIND 而非 find。更多用户可在资源上执行的已定义权限操作,请参阅 权限操作 。
您可以使用 Atlas CLI 管理自定义角色。
要创建自定义角色,请运行:
atlas customDbRoles create < roleName> [ options] 技术支持
<roleName> 是您要创建的自定义角色名称。[options] 包含用于指定角色权限的标志,例如:
atlas customDbRoles create customAnalyticsRole --privilege [email protected] 技术支持
上述命令中:
customAnalyticsRole 是新自定义角色的名称。您可以选择任何能反映角色用途的描述性名称。
--privilege 标志用于指定角色可在资源上执行的操作。
格式为 [email protected] ,其中 @ 分隔操作与资源。
FIND 是 MongoDB 认可的权限操作。
myDatabase.users 是权限应用的资源——此处为 myDatabase 数据库中的 users 集合。
要查看自定义角色的详细信息,请运行:
atlas customDbRoles list --projectId < projectId> 技术支持
上述命令会显示所有自定义角色及其权限。
要更新自定义角色,请运行:
atlas customDbRoles update < roleName> [ options] 技术支持
[options] 包含指定更新内容的标志。例如,要为现有角色新增权限,请运行:
atlas customDbRoles update customAnalyticsRole --privilege [email protected] --privilege [email protected] --projectId < projectId> 技术支持
上述命令会更新现有的 customAnalyticsRole,授予更多权限。[email protected] 允许该角色读取 analytics 集合中的文档,[email protected] 允许其向 myDatabase 数据库中的 logs 集合添加文档。
--projectId 标志用于指定该角色所属的 MongoDB Atlas 项目。
要删除自定义角色,请运行:
atlas customDbRoles delete < roleName> --projectId < projectId> 技术支持
将自定义角色分配给用户的过程与分配内置角色类似。使用 atlas dbusers create 或 atlas dbusers update 命令配合 --role 标志:
atlas dbusers create --username analytics-user --password myPassword --role customAnalyticsRole --projectId < projectId> 技术支持
创建数据库用户并分配角色后,您就可以准备连接到集群了。
获取连接字符串
连接字符串包含您的应用连接到 Atlas 集群所需的信息。该字符串包括集群主机名、认证数据库以及连接选项。
在使用连接字符串之前,请确保您已配置 IP 访问列表并至少创建了一个数据库用户。
获取集群的连接字符串
要检索某个集群的连接字符串,请运行:
atlas clusters connectionStrings describe < clusterName> --projectId < projectId> 技术支持
该命令将返回您集群的 SRV 连接字符串。
连接字符串格式
MongoDB Atlas 提供两种类型的连接字符串:
标准连接字符串(mongodb://) :显式列出所有集群节点。当您需要指定单个服务器地址时使用此格式。
SRV 连接字符串(mongodb+srv://) :使用 DNS 自动检索集群信息。推荐使用此格式,因为当集群配置发生变化时,它会自动更新。
使用连接字符串
将连接字符串中的 <username> 和 <password> 替换为您的数据库用户凭据:
mongodb+srv://<username>:<password>@cluster0.example.mongodb.net/技术支持
例如,如果您的用户名是 appUser,密码是 securePass123:
mongodb+srv://appUser:[email protected] /技术支持
然后,您可以将该连接字符串与 MongoDB 驱动程序、 MongoDB Shell 或其他 MongoDB 工具一起使用,以连接到您的集群。
管理备份
备份是您数据库数据的副本,可用于在数据丢失或损坏时恢复集群。Atlas 会按固定计划自动创建备份。
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).技术支持
要管理备份,您必须在 Atlas 中拥有组织所有者 或项目所有者 权限。
创建按需备份
要立即创建备份,请运行:
atlas backups snapshots create < clusterName> --desc "Backup description" --projectId < projectId> 技术支持
上述命令中,--desc 是用于描述快照的必填标志。
列出可用备份
要列出某个集群的所有备份,请运行:
atlas backups snapshots list < clusterName> --projectId < projectId> 技术支持
查看备份配置
要查看集群的备份设置,请运行:
atlas backups schedule describe < clusterName> --projectId < projectId> 技术支持
从备份恢复
要从备份恢复数据,请运行:
atlas backups restores start < clusterName> --snapshotId < snapshotId> --targetClusterName < targetClusterName> --projectId < projectId> 技术支持
--snapshotId 标志用于指定要恢复的备份。--targetClusterName 标志用于指定要将数据恢复到的集群名称,例如:
atlas backups restores start myCluster --snapshotId 5f8e8d9a1b2c3d4e5f6g7h8i --targetClusterName myCluster-restored --projectId < projectId> 技术支持
删除备份
要删除某个备份,请运行:
atlas backups snapshots delete < snapshotId> --projectId < projectId> 技术支持
总结
本文介绍了 CLI 命令结构、创建部署、管理项目与集群、配置用户与角色,以及管理备份。您可以将这些操作组合到脚本中实现自动化,从而更轻松地管理多个环境,并将数据库管理集成到您的开发流程中。
MongoDB Atlas 是一项基于云的数据库服务,可让您部署、管理并扩展 MongoDB 数据库。您可以通过基于网页的 Atlas UI 管理 Atlas,或使用 Atlas CLI——一款命令行工具,通过命令完成同样的任务。
MongoDB Atlas CLI 是 Atlas UI 的更快速替代方式。您可以直接在终端中运行并自动化数据库管理任务。
本文将带您使用 Atlas CLI 管理数据库。
前提条件
开始之前,请确保您具备:
CLI 命令结构
MongoDB Atlas CLI 遵循一致的命令结构:
在不带任何子命令或参数时运行命令,CLI 会显示帮助信息,其中包括:
例如,如果您运行:
您将看到类似如下的响应:
Atlas CLI 中的命令名、参数和标志名区分大小写。请按照示例中的大小写精确输入——例如使用
--orgId而不是--orgID。创建 MongoDB 部署
部署是一个正在运行的 MongoDB 实例,用于存储和提供您的数据。每个部署包含数据库服务器、存储、网络以及自动备份。MongoDB Atlas 负责基础设施管理,您可以专注于使用数据库,而无需维护服务器。
要创建 MongoDB 部署,请先安装或更新 Atlas CLI,然后运行以下命令:
atlas setup 命令将引导您完成交互式流程。它会提示您进行配置选择,并创建项目、预配集群,同时配置基础安全设置。
对现有部署进行身份验证
如果您已有 MongoDB Atlas 部署并希望通过 CLI 管理,您需要先进行身份验证。要登录,请运行:
该命令会提示您选择身份验证类型,然后提供一次性验证码。复制该验证码,并在浏览器提示时粘贴。例如:
完成身份验证后,您将选择默认的组织和输出格式。CLI 会保存您的会话,但会定期过期。当您看到 "session expired" 错误时,请再次运行
atlas auth login。为多个环境管理配置文件
配置文件可让您在同一 CLI 安装中管理多个 MongoDB Atlas 环境。每个配置文件都存储一个环境的连接设置,例如开发、预发布或生产。
借助配置文件,您可以在环境之间快速切换,而无需重新认证或更改配置文件。这在您为开发流程的不同阶段维护独立的 MongoDB Atlas 项目或组织时尤其有用。
常见做法是为每个环境创建单独的 Atlas 项目,并用配置文件进行管理,例如:
为不同环境创建配置文件
首次运行
atlas auth login时,CLI 会创建默认配置文件。要为其他环境创建更多配置文件,请使用--profile标志:这会创建名为 "dev" 的配置文件,并引导您完成认证流程。对每个环境重复此操作:
每个配置文件都会保存各自的身份验证凭据、默认项目和组织设置。
列出可用配置文件
要查看所有已配置的配置文件,请运行:
这将显示您创建的所有配置文件名称。
查看配置文件详情
要查看某个配置文件的配置,请运行:
例如:
这将显示该配置文件的设置,包括默认组织和项目 ID。
在配置文件之间切换
要在命令中使用特定配置文件,请添加
--profile标志:这将使用生产配置文件的凭据和设置列出集群。
您也可以设置默认配置文件,这样无需在每个命令中指定:
设置默认后,所有命令都会使用该配置文件,除非您通过
--profile标志覆盖。更新配置文件设置
要修改配置文件的配置,请运行:
例如,为 dev 配置文件设置默认项目:
重命名配置文件
要重命名配置文件,请运行:
例如:
管理项目
MongoDB Atlas 中的项目用于组织您的集群、用户和设置。可以将项目视为将相关数据库资源归集到一起的容器。
每个项目可以包含多个集群,并拥有自己的一套用户和访问控制。当您有不同的应用、环境或团队需要隔离的数据库资源时,这种分离非常有用。
创建项目
要创建新项目,请运行:
使用能体现项目用途的描述性名称,例如 "ecommerce-transactions" 或 "mobile-app-staging"。
[options]包含修改项目创建方式和位置的标志。例如,您可以指定要在哪个组织中创建项目:--orgId标志用于指定要在其中创建项目的组织。除非您已设置默认组织,否则这是必填项。您可以运行atlas organizations list命令来获取组织及其Id列表。更新项目
要更新项目设置,请使用:
例如,您可以使用
--name标志来更改项目名称:列出项目
要列出组织中的所有项目,请使用:
上述命令可将
--orgId作为选项,用于指定要从哪个组织列出项目:您也可以控制输出格式,例如以 JSON 显示结果:
删除项目
您可以使用 Atlas CLI 命令删除项目。
无法删除仍包含活动集群的项目。因此,在删除项目之前,请确保先删除其中的所有集群。
管理集群
集群是存储您数据的一组 MongoDB 服务器。Atlas 负责管理集群的基础设施、复制和备份。
创建集群
要创建新集群,请运行:
[options]包含用于指定集群配置的标志。例如,您可以添加选项来配置云服务商、区域和 MongoDB 价格层级:在该命令中,
--provider标志指定云服务商,例如 AWS、GCP 或 Azure。--region标志指定集群部署的区域。--tier标志指定集群规模。如果您尚未设置默认项目,请包含
--projectId标志:查看集群详情
要查看特定集群的详细信息,请运行:
该命令会显示集群的配置、规模、区域以及连接字符串。
列出集群
要列出项目中的所有集群,请运行:
除非您已使用以下命令设置默认项目,否则需要
--projectId标志:暂停集群
您可以在不删除集群的情况下临时暂停它。这会停止集群的运行,但会保留您的数据和配置:
删除集群
要永久删除集群,请运行:
创建集群后,您必须先配置网络安全,才能连接到它。
管理 IP 访问列表配置
IP 访问列表用于控制哪些 IP 地址可以连接到您的 MongoDB Atlas 集群。每个项目最多可有 200 条 IP 访问列表条目。您可以添加单个 IP 地址、CIDR 表示的地址段,或 AWS 安全组 ID。CIDR 表示的地址段使用基础 IP 和前缀定义一个 IP 地址块,例如
192.168.0.0/24。AWS 安全组 ID 允许来自指定 AWS 安全组内所有资源的访问。要管理 IP 访问列表,您必须在项目中拥有项目所有者(Project Owner)权限。
将 IP 地址添加到访问列表
要将您当前的 IP 地址添加到访问列表,请运行:
--currentIp标志会自动添加运行该命令的机器的 IP 地址。当您需要从开发机器快速访问时,这非常实用。要添加特定 IP 地址,请运行:
<ipAddress>是您希望允许的 IP 地址。例如:--comment标志可添加描述,便于您后续识别该条目。要使用 CIDR 表示法添加一段 IP 地址,请运行:
例如:
创建临时访问列表条目
要添加在设定时间后自动过期的 IP 地址,请使用
--deleteAfter标志。您可以将过期时间设置为未来七天内的任意时间:--deleteAfter标志接受 ISO-8601 格式的日期。例如:到达指定日期和时间后,MongoDB Atlas 会自动移除该条目。
列出 IP 访问列表条目
要查看项目中的所有 IP 访问列表条目,请运行:
要查看特定条目的详细信息,请运行:
<entry>是您想查看的 IP 地址、CIDR 段或 AWS 安全组 ID。删除 IP 访问列表条目
要从访问列表中移除某个 IP 地址,请运行:
管理用户和角色
角色为特定资源上的一组操作授予权限。用户是被授予一个或多个角色的实体,这些角色决定了其在数据库中的访问权限。
要配置数据库用户和角色,您必须在 MongoDB Atlas 中拥有组织所有者(Organization Owner)、项目所有者(Project Owner)或项目数据库访问管理员(Project Database Access Admin)权限。
管理用户
要创建数据库用户,请运行:
[builtInRole]是要分配给用户的一个或多个内置角色。[options]包含用于指定用户凭据和配置的标志。例如:--username标志用于指定用户名。--password标志用于指定密码。--role标志用于指定要分配的角色。在此示例中,用户名为myUser,密码为myPassword。要列出项目中的所有数据库用户,请运行:
要查看特定数据库用户的详细信息,请运行:
您也可以更新数据库用户。例如,要更新用户密码,请运行:
要更新用户的角色,请运行:
要删除特定数据库用户,请运行:
管理角色
您可以为用户分配两类角色:
内置角色
内置角色是 MongoDB Atlas 预定义的角色。它们涵盖了不同数据库用例的常见权限集,例如:
local和config外的所有数据库授予只读权限。您不能编辑或删除内置角色,只能将其分配给用户。创建用户时要分配内置角色,请使用
--role标志指定角色:要为现有用户分配或更改角色,请运行:
有关可分配给用户的更多内置角色,请参阅 [内置角色与权限](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)。
自定义角色
当内置角色无法满足需求时,MongoDB Atlas 允许您创建自定义角色。自定义角色定义了一组与您的应用或团队需求匹配的特定权限操作。
创建自定义角色时,请确定用户应访问哪些集合,以及可对资源执行哪些操作——例如读取、插入、更新或删除数据。
在 MongoDB 权限定义中,您必须在 CLI 命令中使用大写的权限操作名称,例如使用 FIND 而非 find。更多用户可在资源上执行的已定义权限操作,请参阅 权限操作。
您可以使用 Atlas CLI 管理自定义角色。
要创建自定义角色,请运行:
<roleName>是您要创建的自定义角色名称。[options]包含用于指定角色权限的标志,例如:上述命令中:
customAnalyticsRole是新自定义角色的名称。您可以选择任何能反映角色用途的描述性名称。--privilege标志用于指定角色可在资源上执行的操作。[email protected],其中@分隔操作与资源。FIND是 MongoDB 认可的权限操作。myDatabase.users是权限应用的资源——此处为myDatabase数据库中的 users 集合。要查看自定义角色的详细信息,请运行:
上述命令会显示所有自定义角色及其权限。
要更新自定义角色,请运行:
[options]包含指定更新内容的标志。例如,要为现有角色新增权限,请运行:上述命令会更新现有的
customAnalyticsRole,授予更多权限。[email protected]允许该角色读取analytics集合中的文档,[email protected]允许其向myDatabase数据库中的logs集合添加文档。--projectId标志用于指定该角色所属的 MongoDB Atlas 项目。要删除自定义角色,请运行:
将自定义角色分配给用户的过程与分配内置角色类似。使用
atlas dbusers create或atlas dbusers update命令配合--role标志:创建数据库用户并分配角色后,您就可以准备连接到集群了。
获取连接字符串
连接字符串包含您的应用连接到 Atlas 集群所需的信息。该字符串包括集群主机名、认证数据库以及连接选项。
在使用连接字符串之前,请确保您已配置 IP 访问列表并至少创建了一个数据库用户。
获取集群的连接字符串
要检索某个集群的连接字符串,请运行:
该命令将返回您集群的 SRV 连接字符串。
连接字符串格式
MongoDB Atlas 提供两种类型的连接字符串:
标准连接字符串(
mongodb://):显式列出所有集群节点。当您需要指定单个服务器地址时使用此格式。SRV 连接字符串(
mongodb+srv://):使用 DNS 自动检索集群信息。推荐使用此格式,因为当集群配置发生变化时,它会自动更新。使用连接字符串
将连接字符串中的
<username>和<password>替换为您的数据库用户凭据:例如,如果您的用户名是
appUser,密码是securePass123:然后,您可以将该连接字符串与 MongoDB 驱动程序、MongoDB Shell 或其他 MongoDB 工具一起使用,以连接到您的集群。
管理备份
备份是您数据库数据的副本,可用于在数据丢失或损坏时恢复集群。Atlas 会按固定计划自动创建备份。
要管理备份,您必须在 Atlas 中拥有组织所有者或项目所有者权限。
创建按需备份
要立即创建备份,请运行:
上述命令中,
--desc是用于描述快照的必填标志。列出可用备份
要列出某个集群的所有备份,请运行:
查看备份配置
要查看集群的备份设置,请运行:
从备份恢复
要从备份恢复数据,请运行:
--snapshotId标志用于指定要恢复的备份。--targetClusterName标志用于指定要将数据恢复到的集群名称,例如:删除备份
要删除某个备份,请运行:
总结
本文介绍了 CLI 命令结构、创建部署、管理项目与集群、配置用户与角色,以及管理备份。您可以将这些操作组合到脚本中实现自动化,从而更轻松地管理多个环境,并将数据库管理集成到您的开发流程中。