4.2 连接单节点实例
4.2.5 通过程序代码连接单节点实例
4.2.5.2 Paython 示例
本章节主要介绍使用Python语言连接单节点实例的方法。
前提条件
1. 连接数据库的弹性云服务器必须和DDS实例之间网络互通,可以使用curl命令连接 DDS实例服务端的IP和端口号,测试网络连通性。
curl ip:port
返回“It looks like you are trying to access MongoDB over HTTP on the native driver port.”,说明网络互通。
2. 在弹性云服务器上安装Python以及第三方安装包pymongo。推荐使用 pymongo2.8版本。
3. 如果开启SSL,需要在界面上下载根证书,并上传到弹性云服务器。
连接代码
● SSL开启 import ssl
from pymongo import MongoClient
conn_urls="mongodb://rwuser:rwuserpassword@ip:port/{mydb}?authSource=admin"
connection = MongoClient(conn_urls,connectTimeoutMS=5000,ssl=True,
ssl_cert_reqs=ssl.CERT_REQUIRED,ssl_match_hostname=False,ssl_ca_certs=${path to certificate authority file})
dbs = connection.database_names()
print "connect database success! database names is %s" % dbs
● SSL关闭 import ssl
from pymongo import MongoClient
conn_urls="mongodb://rwuser:rwuserpassword@ip:port/{mydb}?authSource=admin"
connection = MongoClient(conn_urls,connectTimeoutMS=5000) dbs = connection.database_names()
print "connect database success! database names is %s" % dbs
说明
● URL中的认证数据库必须为“admin”,即“authSource=admin”。
● SSL方式连接,需要手动生成trustStore文件。
● 认证数据库必须为“admin”,之后再切换至业务数据库。
5 登录文档数据库服务控制台
前提条件
如果您已经注册华为云账号,可直接登录管理控制台,访问文档数据库服务。
如果您未注册华为云账号,请在华为云官网注册,具体操作请参见如何注册华为云管 理控制台的用户。注册成功后,该账号可访问华为云的所有服务,包括文档数据库服 务。
说明
注册成功后,您可能需要在账号下创建子用户、创建用户组并授权,具体操作请参见《统一身份 认证服务快速入门》的内容。
操作步骤
步骤1 打开华为云官网。
步骤2 单击页面右上方“控制台”,进入华为云管理控制台登录页面。
步骤3 根据界面提示,填写账号信息并单击“登录”。
成功登录管理控制台。
步骤4 单击管理控制台左上方的 ,选择区域和项目。
如果您希望独享计算资源和网络资源,请先开通专属云并申请专属计算集群资源。开 通后,您可以选择专属云区域和项目。
通过专属云购买文档数据库实例会收取一定的服务费用。
步骤5 在页面左上角单击 ,选择“数据库 > 文档数据库服务 DDS”,进入文档数据库服 务信息页面。
----结束
6 示例:购买并连接 DDS 实例
本章节以Linux系统为例,介绍从购买到内网连接集群实例的操作步骤。
步骤1:创建ECS 步骤2:创建集群实例 步骤3:连接集群实例
步骤 1:创建 ECS
1. 登录管理控制台。
2. 选择“计算 > 弹性云服务器”,单击“购买弹性云服务器”。
3. 配置基础信息后,单击“下一步:网络配置”。ECS与待连接的集群实例的区域及 可用区一致。
图6-1 基础配置
图6-2 选择镜像
4. 配置网络信息后,单击“下一步:高级配置”。ECS与待连接的集群实例的VPC和 安全组一致。
图6-3 网络配置
5. 配置密码等信息后,单击“下一步:确认配置”。
图6-4 高级配置
6. 确认配置信息后,单击“立即购买”。
图6-5 确认配置
7. 查看购买成功的ECS。
图6-6 购买成功
步骤 2:创建集群实例
1. 登录管理控制台。
2. 选择“数据库 > 文档数据库服务 DDS”,单击“购买数据库实例”。
3. 填选实例信息后,单击“立即购买”。ECS与待连接的集群实例的区域、可用区、
VPC和安全组一致。
图6-7 基础配置
图6-8 管理员设置
图6-9 网络设置及购买时长
图6-10 高级配置
4. 查看购买成功的DDS实例。
图6-11 购买成功
步骤 3:连接集群实例
1. 本地使用Linux远程连接工具登录ECS。“Remote host”为ECS绑定的弹性公网 IP。
图6-12 新建会话
2. 输入创建ECS时设置的密码。
图6-13 输入密码
图6-14 登录成功
3. 打开链接,下载“mongodb-linux-x86_64-rhel70-4.0.27.tgz”客户端安装包。
图6-15 下载客户端
4. 上传客户端安装包到ECS。
图6-16 上传客户端
图6-17 上传成功
5. 在弹性云服务器上,解压安装包。
tar zxvf mongodb-linux-x86_64-rhel70-4.0.27.tgz 6. 进入安装包的“bin”文件夹下,获取客户端工具。
cd mongodb-linux-x86_64-rhel70-4.0.27/bin 其中,常用工具包含如下:
– MongoDB客户端mongo。
– 数据导出工具mongoexport。
– 数据导入工具mongoimport。
7. 使用客户端工具前,需要对工具赋予执行权限。
– 执行chmod +x mongo,赋予连接实例的权限。
– 执行chmod +x mongoexport,赋予导出数据的权限。
– 执行chmod +x mongoimport,赋予导入数据的权限。
8. 连接DDS实例。
./mongo mongodb://
rwuser:<password>@<DB_HOST1>:<DB_PORT1>,<DB_HOST2>:<DB_PORT2>/ test?authSource=admin
说明
<password>表示数据库帐号对应的密码,需要替换为真实密码。
如果密码中包含特殊字符“@”、“!”和“%”需要分别替换为对应的十六进制的URL编 码(ASSCII码)“%40”、“%21”和“%25”。
示例:密码为****@%***!,对应的URL编码为****%40%25***%21 图6-18 连接成功
9. 常用创建数据库和集合的操作。
图6-19 创建数据库
图6-20 创建集合
A 修订记录
发布日期 更新特性
2021-12-30 第三十一次正式发布,包含以下修改内容:
● 新增通过程序代码连接集群实例。
● 新增通过程序代码连接副本集实例。
● 新增通过程序代码连接单节点实例。
2021-10-30 第三十次正式发布,包含以下修改内容:
新增入门概览。
2021-05-30 第二十九次正式发布,包含以下修改内容:
支持快速购买及自定义购买。
2021-04-30 第二十八次正式发布,包含以下修改内容:
参数组更名为参数模板。
2020-10-30 第二十七次正式发布,包含以下修改内容:
资源标签支持20个配额。
2020-09-30 第二十六次正式发布,包含以下修改内容:
● 下线社区增强版。
● 社区版4.0实例支持鲲鹏机型。
2020-08-30 第二十五次正式发布,包含以下修改内容:
● 社区版集群实例最大支持32个mongos和32个 shard。
● 副本集存储空间最大值调整到3000GB。
2020-07-30 第二十四次正式发布,包含以下修改内容:
副本集实例支持跨网段访问配置。
2020-07-15 第二十三次正式发布,包含以下修改内容:
支持DCC的能力。
发布日期 更新特性
2020-05-30 第二十二次正式发布,包含以下修改内容:
增强版集群实例支持企业项目。
2020-04-30 第二十一次正式发布,包含以下修改内容:
● IAM权限模板刷新。
● 支持购买多az的社区版实例 。
2020-04-15 第二十次正式发布,包含以下修改内容:
副本集实例支持同VPC下跨子网访问配置。
2020-03-31 第十九次正式发布,包含以下修改内容:
● 支持包月转按需。
● 支持创建实例密码后置。
● 社区版集群支持申请shard/config节点的地址。
2020-03-13 第十八次正式发布,包含以下内容:
修改单节点实例的连接地址。
2020-02-14 第十七次正式发布,包含以下内容:
根据界面优化更新创建实例的操作步骤。
2020-01-07 第十六次正式发布,包含以下内容:
● 调整快速入门手册大纲。
2019-11-11 第十五次正式发布,包含以下内容:
社区版集群实例的存储容量最大支持2000GB。
2019-10-18 第十四次正式发布,包含以下内容:
● 创建实例支持选择s6规格。
● 支持IPv6/IPv4双栈。
● 新增通过robo 3T工具连接DDS实例的步骤。
2019-09-11 第十三次正式发布,包含以下内容:
社区版集群实例最大支持16个mongos和16个 shard。
2019-08-13 第十二次正式发布,包含以下内容:
支持创建社区版3.4按需计费实例时选择CPU类型。
2019-07-07 第十一次正式发布,包含以下内容:
支持创建实例时选择参数组。
2019-06-13 第十次正式发布,包含以下内容:
支持专属云。
2019-04-19 第九次正式发布,包含以下内容:
● 根据界面优化更新创建实例、连接实例的操作步 骤。
发布日期 更新特性
2019-02-15 第八次正式发布,包含以下内容:
● 支持修改节点的内网IP。
● 支持通过数据复制服务迁移单节点数据库。
● 支持通过程序代码连接增强版实例。
2019-01-07 第七次正式发布,包含以下内容:
● 支持包周期购买增强版集群实例。
● 社区版购买实例页面增加“标签”配置项。
2018-11-02 第六次正式发布,包含以下内容:
● 支持批量购买包周期实例。
● 添加通过连接地址连接数据库实例的命令。
2018-09-06 第五次正式发布,包含以下内容:
● 支持实例企业项目管理。
● 单节点商用。
● 支持创建单节点包周期实例。
2018-08-03 第四次正式发布,包含以下内容:
● 购买实例界面交互优化。
● 支持创建集群包周期实例。
● 支持副本集包周期实例自动续费。
2018-07-02 第三次正式发布,包含以下内容:
● 账户余额大于或等于0元,用户所有操作不受限 制。
● 支持DDS社区增强版。
● 创建副本集实例支持多AZ。
● 调整创建实例页面“高可用类型”的位置。
● 副本集的存储空间上限值变更为2000GB。
2018-06-01 第二次正式发布,包含以下内容:
● 支持兼容社区版MongoDB 3.4版本。
● 支持创建实例时创建默认虚拟私有云资源。
2018-05-04 第一次正式发布。