云服务器内容精选
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 change_security_group 是 ChangeSecurityGroup object change_security_group对象 表4 ChangeSecurityGroup 参数 是否必选 参数类型 描述 security_group_id 是 String 需要修改的目标安全组ID。
-
解决办法 系统连接超过最大连接数量。 用户可在 GaussDB (DWS) 控制台设置最大连接数max_connections。 max_connections设置方法如下: 登录GaussDB(DWS) 管理控制台。 在左侧导航栏中,单击“集群管理”。 在集群列表中找到所需要的集群,单击集群名称,进入集群“基本信息”页面。 单击“参数修改”页签,修改参数“max_connections”的值,然后单击“保存”。 在“修改预览”窗口,确认修改无误后,单击“保存”。 关于查看用户会话连接数的方法如表1。 表1 查看会话连接数 描述 命令 查看指定用户的会话连接数上限。 执行如下命令查看连接到指定用户user1的会话连接数上限。其中,-1表示没有对用户user1设置连接数的限制。 1 2 3 4 5 SELECT ROLNAME,ROLCONNLIMIT FROM PG_ROLES WHERE ROLNAME='user1'; rolname | rolconnlimit ---------+-------------- user1 | -1 (1 row) 查看指定用户已使用的会话连接数。 执行如下命令查看指定用户user1已使用的会话连接数。其中,1表示user1已使用的会话连接数。 1 2 3 4 5 6 SELECT COUNT(*) FROM V$SESSION WHERE USERNAME='user1'; count ------- 1 (1 row) 查看指定数据库的会话连接数上限。 执行如下命令查看连接到指定数据库db_demo的会话连接数上限。其中,-1表示没有对数据库db_demo设置连接数的限制。 1 2 3 4 5 6 SELECT DATNAME,DATCONNLIMIT FROM PG_DATABASE WHERE DATNAME='db_demo'; datname | datconnlimit ----------+-------------- db_demo | -1 (1 row) 查看指定数据库已使用的会话连接数。 执行如下命令查看指定数据库db_demo上已使用的会话连接数。其中,1表示数据库db_demo上已使用的会话连接数。 1 2 3 4 5 SELECT COUNT(*) FROM PG_STAT_ACTIVITY WHERE DATNAME='db_demo'; count ------- 1 (1 row) 查看所有用户已使用会话连接数。 执行如下命令查看所有用户已使用的会话连接数。 1 2 3 4 5 SELECT COUNT(*) FROM PG_STAT_ACTIVITY; count ------- 10 (1 row) 用户不具备访问该数据库的权限。 使用管理员用户dbadmin连接数据库。 1 gsql -d human_resource -h 10.168.0.74 -U dbadmin -p 8000 -W password -r 赋予user1用户访问数据库的权限。 1 GRANT CONNECT ON DATABASE human_resource TO user1; 实际上,常见的许多错误操作也可能产生用户无法连接上数据库的现象。例如,用户连接的数据库不存在,用户名或密码输入错误等。这些错误操作在客户端工具会有相应的提示信息。 1 2 3 4 5 gsql -d human_resource -p 8000 gsql: FATAL: database "human_resource" does not exist gsql -d human_resource -U user1 -W password -p 8000 gsql: FATAL: Invalid username/password,login denied. 网络连接故障。 请检查客户端与数据库服务器间的网络连接。如果发现从客户端无法PING到数据库服务器端,则说明网络连接出现故障。请联系技术支持工程师提供技术支持。 1 2 3 4 5 6 7 8 ping -c 4 10.10.10.1 PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data. From 10.10.10.1: icmp_seq=2 Destination Host Unreachable From 10.10.10.1 icmp_seq=2 Destination Host Unreachable From 10.10.10.1 icmp_seq=3 Destination Host Unreachable From 10.10.10.1 icmp_seq=4 Destination Host Unreachable --- 10.10.10.1 ping statistics --- 4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 2999ms
-
原因分析 系统连接数量超过了最大连接数量,会显示如下错误信息。 1 2 gsql -d human_resource -h 10.168.0.74 -U user1 -p 8000 -W password -r gsql: FATAL: sorry, too many clients already 用户不具备访问该数据库的权限,会显示如下错误信息。 1 2 3 gsql -d human_resource -h 10.168.0.74 -U user1 -p 8000 -W password -r gsql: FATAL: permission denied for database "human_resource" DETAIL: User does not have CONNECT privilege. 网络连接故障。
-
响应参数 参数说明 表3 响应Body参数 参数 参数类型 是否必选 描述 total_count Integer 是 总记录数。 sessions Array of objects 是 具体信息。详情请参见表 QuerySessionResponse。 表4 session字段数据结构说明 参数 参数类型 描述 id String 会话ID。 active Boolean 当前会话是否活跃。取值为“true”,表示活跃。取值为“false”,表示不活跃。 operation String 操作。 type String 操作类型。 cost_time String 运行时间,单位为us。 plan_summary String 执行计划描述。 host String 主机。 client String 客户端地址。 description String 连接描述。 namespace String 命名空间。
-
响应示例 { "total_count" : 1, "sessions" : [ { "id" : "shard_1:7201646", "active" : true, "operation" : "{\"getMore\":4.9473050217983027E18,\"collection\":\"$cmd.aggregate\",\"batchSize\":101.0,\"lsid\":{\"id\":{\"$binary\":{\"base64\":\"9FhcBFVeTzafCH8BUZrLjQ\\=\\=\",\"subType\":\"03\"}},\"uid\":{\"$binary\":{\"base64\":\"O0CMtIVItQN4IsEOsJdrPL8s7jv5xwh5a/A5Qfvs2A8\\=\",\"subType\":\"00\"}}},\"$clusterTime\":{\"clusterTime\":{\"$timestamp\":{\"t\":1.614047961E9,\"i\":1.0}},\"signature\":{\"hash\":{\"$binary\":{\"base64\":\"HxUWu68VyfvQFivWjHQDdJj/3YQ\\=\",\"subType\":\"00\"}},\"keyId\":6.9312672235666801E18}},\"$client\":{\"driver\":{\"name\":\"PyMongo\",\"version\":\"3.6.1\"},\"os\":{\"type\":\"Linux\",\"name\":\"Linux\",\"architecture\":\"x86_64\",\"version\":\"4.18.0-147.5.1.0.h269.eulerosv2r9.x86_64\"},\"platform\":\"CPython 3.7.4.final.0\",\"mongos\":{\"host\":\"host-172-16-61-110:8635\",\"client\":\"127.0.0.1:33420\",\"version\":\"4.0.3\"}},\"$configServerState\":{\"opTime\":{\"ts\":{\"$timestamp\":{\"t\":1.614047961E9,\"i\":1.0}},\"t\":2.0}},\"$db\":\"admin\"}", "type" : "getmore", "cost_time" : "25", "plan_summary" : "COLLSCAN", "host" : "host-172-16-27-182:8635", "client" : "172.16.41.233:50700", "description" : "conn20", "namespace" : "admin.$cmd.aggregate" } ] }
-
URI URI格式 GET https://{Endpoint}/v3/{project_id}/nodes/{node_id}/sessions URI样例 https://dds.cn-north-1.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/nodes/520c58ba00a3497e97ce0b9604874dd6no02/sessions
-
请求参数 参数说明 表1 请求参数 名称 类型 IN 是否必选 描述 X-Auth-Token string header 是 从 IAM 服务获取的用户Token。请参考认证鉴权。 project_id string path 是 租户在某一Region下的项目ID。请参考获取项目ID章节获取项目编号。 node_id string path 是 节点ID。 集群实例支持选择mongos、shard、config中的任意节点。 副本集实例选择Primary或者Secondary节点。 表2 Query参数 参数 参数类型 是否必选 描述 offset Integer 否 索引位置,偏移量。从第一条数据偏移offset条数据后开始查询,默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数。 limit Integer 否 查询记录数。取值范围[1, 100],默认10(表示返回10条数据)。 plan_summary String 否 执行计划描述。取空值表示查询plan_summary为空的会话。也可指定执行计划,例如:COLLSCAN IXSCAN FETCH SORT LIMIT SKIP COUNT COUNT_SCAN TEXT PROJECTION type String 否 操作类型。取空值表示查询type为空的会话。也可指定操作类型,例如:none update insert query command getmore remove killcursors namespace String 否 命名空间。取空值表示查询namespace为空的会话,也可根据当前业务进行指定。 cost_time Integer 否 运行时间,单位为us。取空值表示查询cost_time为空的会话,也可根据当前业务需要进行配置,表示查询超出cost_time 的会话。
-
准备工作 准备弹性云服务器或可访问云数据库RDS实例的设备。 通过内网地址连接云数据库RDS实例,需具备以下条件。 创建并登录弹性云服务器,请参见《弹性云服务器快速入门》中“购买弹性云服务器”和“登录弹性云服务器”。 该弹性云服务器与目标实例必须处于同一VPC内。 该弹性云服务器必须处于目标实例所属安全组允许访问的范围内。 通过公网地址连接云数据库RDS实例,需具备以下条件。 先对关系型数据库实例绑定公网地址,如何绑定公网地址,请参见绑定和解绑弹性公网IP。 保证本地设备可以访问云数据库RDS实例绑定的公网地址。 在1中的弹性云服务器或可访问云数据库RDS的设备上,安装pgAdmin客户端。
-
请求示例 创建一个MySQL连接示例。 https://{endpoint}/v5/5237e10fe9aa4ad5b16b6a5245248314/connections { "name" : "DRS-mysql", "db_type" : "mysql", "description" : "description", "endpoint" : { "endpoint_name" : "mysql", "ip" : "127.0.0.1", "db_port" : "3306", "db_user" : "root", "db_password" : "password" }, "ssl" : { "ssl_link" : false }, "enterprise_project_id" : "0" }
-
响应示例 状态码: 200 OK { "name" : "DRS-mysql", "type" : "mysql", "endpoint" : { "endpoint_name" : "mysql", "ip" : "127.0.0.1", "db_port" : "3306", "db_user" : "root" }, "description" : "description", "connection_id" : "835e1d79-24ac-411d-a1c8-22c000280659", "ssl" : { "ssl_link" : false }, "create_time" : 1716879012121, "enterprise_project_id" : "0" } 状态码: 400 Bad Request { "error_code" : "DRS.10010065", "error_msg" : "Connection manager name is already exists." }
-
响应参数 状态码: 200 表9 响应Body参数 参数 参数类型 描述 connection_id String 连接ID。 name String 连接名称。 create_time Long 连接创建时间,格式为时间戳。 db_type String 连接类型。 config ConnectionConfig object 连接的配置项。 endpoint BaseEndpoint object 数据库基本信息。 vpc CloudVpcInfo object 数据库实例所在VPC,子网,安全组等信息。 ssl EndpointSslConfig object 数据库SSL证书信息。 表10 ConnectionConfig 参数 参数类型 描述 driver_name String 驱动程序名称。 表11 BaseEndpoint 参数 参数类型 描述 id String 数据库信息ID。 endpoint_name String 数据库场景类型。取值: oracle:云下自建Oracle数据库。 ecs_oracle:华为云E CS 自建Oracle数据库。 cloud_gaussdbv5:华为云数据库GaussDB分布式。 mysql:他云/本地自建MySQL数据库。 ecs_mysql:华为云ECS自建MySQL数据库。 cloud_mysql:华为云数据库RDS for MySQL。 redis:云下自建Redis数据。 ecs_redis:华为云ECS自建Redis数据。 rediscluster:云下自建Redis集群数据库。 ecs_rediscluster:华为云ECS自建Redis集群数据库。 cloud_gaussdb_redis:华为云数据库GeminiDB Redis。 postgresql: 云下自建PostgreSQL数据库。 ecs_postgresql: 华为云ECS自建PostgreSQL数据库。 cloud_postgresql: 华为云数据库RDS for PostgreSQL。 mongodb: 云下自建MongoDB数据库。 ecs_mongodb: 华为云ECS自建MongoDB数据库。 cloud_mongodb: 华为云文档数据库服务DDS。 ip String 数据库IP。约束:- 数据库为自建MongoDB时,数据库IP与端口之间用“:”英文冒号拼接,多个值之间请用“,”英文逗号隔开,最多支持填写3个IP地址或 域名 。- 数据库为DDS实例时,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔。- 数据库为Redis集群时,请填写源端Redis集群所有分片的IP地址和对应端口,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔,并且推荐填写集群分片的Slave节点的IP地址。最多支持填写32个IP地址或域名,多个值之间请用英文逗号隔开。示例:- MySQL:ip- MongoDB:ip:port,ip:port,ip:port- DDS:ip:port,ip:port - Redis集群:ip:port,ip:port db_port String 数据库端口。 约束:输入范围为1-65535之间的整数。 db_user String 数据库用户名。 db_password String 数据库密码。 instance_id String 华为云数据库实例ID。 instance_name String 华为云数据库实例名称。 db_name String 指定数据库名称。例如: oracle:serviceName.orcl。 source_sharding Array of BaseEndpoint objects 物理源库信息。 表12 CloudVpcInfo 参数 参数类型 描述 vpc_id String 数据库实例所在的虚拟私有云ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询VPC列表。 subnet_id String 数据库实例所在子网ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表。 security_group_id String 数据库实例所在的安全组ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询安全组列表。 表13 EndpointSslConfig 参数 参数类型 描述 ssl_link Boolean 是否SSL安全连接。如果数据库启用了SSL安全连接,参数值为true。 ssl_cert_name String SSL证书名字。 ssl_cert_key String SSL证书内容,用base64加密。 ssl_cert_check_sum String SSL证书内容checksum值,后端校验,源库安全连接必选。 ssl_cert_password String SSL证书密码,证书文件后缀为.p12时必填。 状态码: 400 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 X-Auth-Token 是 String 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 连接名称。 约束:连接名称在4位到50位之间,不区分大小写,可以包含字母、数字、中划线或下划线,不能包括其他特殊字符。 db_type 是 String 连接类型,包含: mysql postgresql mongodb oracle config 否 ConnectionConfig object 连接的配置项,不同类型的连接配置项不同。 description 否 String 描述,长度不能超过255个字符。 endpoint 是 BaseEndpoint object 数据库连接基本信息。 vpc 否 CloudVpcInfo object 数据库实例所在VPC,子网,安全组等信息。 ssl 否 EndpointSslConfig object 数据库SSL证书信息。 cloud 否 CloudBaseInfo object 数据库实例所在Region,项目等信息。 enterprise_project_id 否 String 企业项目ID。 表4 ConnectionConfig 参数 是否必选 参数类型 描述 driver_name 否 String 驱动程序名称。 表5 BaseEndpoint 参数 是否必选 参数类型 描述 id 否 String 数据库信息ID。 endpoint_name 是 String 数据库场景类型。取值: oracle:云下自建Oracle数据库。 ecs_oracle:华为云ECS自建Oracle数据库。 cloud_gaussdbv5:华为云数据库GaussDB分布式。 mysql:他云/本地自建MySQL数据库。 ecs_mysql:华为云ECS自建MySQL数据库。 cloud_mysql:华为云数据库RDS for MySQL。 redis:云下自建Redis数据。 ecs_redis:华为云ECS自建Redis数据。 rediscluster:云下自建Redis集群数据库。 ecs_rediscluster:华为云ECS自建Redis集群数据库。 cloud_gaussdb_redis:华为云数据库GeminiDB Redis。 postgresql: 云下自建PostgreSQL数据库。 ecs_postgresql: 华为云ECS自建PostgreSQL数据库。 cloud_postgresql: 华为云数据库RDS for PostgreSQL。 mongodb: 云下自建MongoDB数据库。 ecs_mongodb: 华为云ECS自建MongoDB数据库。 cloud_mongodb: 华为云文档数据库服务DDS。 ip 否 String 数据库IP。约束:- 数据库为自建MongoDB时,数据库IP与端口之间用“:”英文冒号拼接,多个值之间请用“,”英文逗号隔开,最多支持填写3个IP地址或域名。- 数据库为DDS实例时,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔。- 数据库为Redis集群时,请填写源端Redis集群所有分片的IP地址和对应端口,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔,并且推荐填写集群分片的Slave节点的IP地址。最多支持填写32个IP地址或域名,多个值之间请用英文逗号隔开。示例:- MySQL:ip- MongoDB:ip:port,ip:port,ip:port- DDS:ip:port,ip:port - Redis集群:ip:port,ip:port db_port 否 String 数据库端口。 约束:输入范围为1-65535之间的整数。 db_user 是 String 数据库用户名。 db_password 是 String 数据库密码。 instance_id 否 String 华为云数据库实例ID。 instance_name 否 String 华为云数据库实例名称。 db_name 否 String 指定数据库名称。例如: oracle:serviceName.orcl。 source_sharding 否 Array of BaseEndpoint objects 物理源库信息。 表6 CloudVpcInfo 参数 是否必选 参数类型 描述 vpc_id 是 String 数据库实例所在的虚拟私有云ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询VPC列表。 subnet_id 是 String 数据库实例所在子网ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表。 security_group_id 否 String 数据库实例所在的安全组ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询安全组列表。 表7 EndpointSslConfig 参数 是否必选 参数类型 描述 ssl_link 否 Boolean 是否SSL安全连接。如果数据库启用了SSL安全连接,参数值为true。 ssl_cert_name 否 String SSL证书名字。 ssl_cert_key 否 String SSL证书内容,用base64加密。 ssl_cert_check_sum 否 String SSL证书内容checksum值,后端校验,源库安全连接必选。 ssl_cert_password 否 String SSL证书密码,证书文件后缀为.p12时必填。 表8 CloudBaseInfo 参数 是否必选 参数类型 描述 region 是 String 区域ID,当数据库实例类型为ecs(华为云ECS自建数据库),cloud(华为云数据库)时为必填项。获取方法请参见地区和终端节点。 注意:当该Region下存在子项目时,Region ID为区域项目ID与子项目ID,由“_”下划线拼接,例如:cn-north-4_abc。 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 az_code 否 String 数据库所在可用分区(AZ)名称。
-
操作场景 SSL(Secure Socket Layer,安全套接层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。 认证用户和服务器,确保数据发送到正确的客户端和服务器。 加密数据以防止数据中途被窃取。 维护数据的完整性,确保数据在传输过程中不被改变。 SSL连接开启后,可以通过SSL方式连接实例,提高数据安全性。
-
使用须知 SSL连接需要具有一定的操作权限,如需使用,请联系客服申请相应的权限。 开启或关闭SSL会导致实例重启,请谨慎操作。 开启SSL后,可以通过SSL方式连接数据库,具有更高的安全性。 出于安全原因,不安全的加密算法已被禁用。GeminiDB Mongo支持的安全加密算法对应的加密套件如表1所示。 表1 安全加密算法对应的加密套件说明 版本 支持的TLS版本 支持的加密算法套件 4.0 TLS 1.2 DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES128-GCM-SHA256 用户的客户端所在服务器需要支持对应的TLS版本以及对应的加密算法套件,否则会连接失败。 关闭SSL,可以采用非SSL方式连接数据库。
-
注意事项 因为安全组的默认规则是在出方向上的数据报文全部放行,同一个安全组内的弹性云服务器和云数据库RDS实例可互相访问。安全组创建后,您可以在安全组中定义各种访问规则,当云数据库RDS实例加入该安全组后,即受到这些访问规则的保护。 默认情况下,一个用户可以创建100个安全组。 默认情况下,一个安全组最多只允许拥有50条安全组规则。 一个RDS实例允许绑定多个安全组,一个安全组可以关联多个RDS实例。 为一个安全组设置过多的安全组规则会增加首包延时,因此,建议一个安全组内的安全组规则不超过50条。 当需要从安全组外访问安全组内的云数据库RDS实例时,需要为安全组添加相应的入方向规则。 为了保证数据及实例安全,请合理使用权限。建议使用最小权限访问,并及时修改数据库默认端口号(3306),同时将可访问IP地址设置为远程主机地址或远程主机所在的最小子网地址,限制远程主机的访问范围。 源地址默认的IP地址0.0.0.0/0是指允许所有IP地址访问安全组内的云数据库RDS实例。 关于添加安全组规则的详细要求,可参考《虚拟私有云用户指南》的“添加安全组规则”章节。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格