华为云用户手册

  • URI URI格式 GET /v3/{project_id}/instances/{instance_id}/database/db_user?db-name={db-name}&page={page}&limit={limit} 参数说明 表1 参数说明 名称 是否必选 说明 project_id 是 租户在某一region下的project ID。 获取方法请参见获取项目ID。 instance_id 是 实例ID。 db-name 是 数据库名。 page 是 分页页码,从1开始。 limit 是 每页数据条数。取值范围[1, 100]。
  • 响应消息 正常响应要素说明 表2 要素说明 名称 参数类型 说明 users Array of objects 列表中每个元素表示一个数据库账号。 详情请参见表3。 total_count Integer 数据库用户总数。 表3 users元素结构说明 名称 参数类型 说明 name String 账号名。 正常响应样例 { "users": [ { "name": "rds" }, { "name": "rds001" } ], "total_count": 3 } 异常响应 请参见异常请求结果。
  • 请求示例 POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/a8abe84a41364097be7c233c39275087in04/db_privilege { "db_name": "rds-test", "users": [ { "name": "rds", "readonly": true }, { "name": "rds001", "readonly": false } ] }
  • 请求消息 参数说明 表2 参数说明 名称 是否必选 参数类型 说明 db_name 是 String 数据库名称。 users 是 Array of objects 每个元素都是与数据库相关联的账号。单次请求最多支持50个元素。 每个元素结构请参见表3。 表3 users列表元素数据结构说明 名称 是否必选 参数类型 说明 name 是 String 数据库账号名称。目前不支持对不带登录名的SQL用户进行授权。 数据库账号名称在1到128个字符之间,不能和系统用户名称相同。 系统用户包括:rdsadmin, rdsuser, rdsbackup, rdsmirror。 readonly 否 Boolean 是否为只读权限,默认值为false。 “true”表示只读。 “false”表示可读写。
  • 接口约束 如果您需要使用该功能,请联系客服提交开启修改数据库用户备注权限的申请。 实例在创建、变更规格、修改端口、异常或冻结状态下不能执行该操作。 更新备注的操作不受数据库是否存在影响。 若备注存在则更新,不存在则自动新建备注。 更新为空值备注将会被删除。 若新建备注过程中数据库被删除或不存在,则备注依旧会保存。 该方法只针对新版本的实例生效,必须大于等于指定的内核版本,如果不符合内核小版本要求,参考升级内核小版本升级至最新。 RDS for MySQL 5.6:不支持。 RDS for MySQL 5.7:不支持。 RDS for MySQL 8.0:大于等于8.0.25。 除RDS界面和API以外的其他方式创建的数据库和账号,如果创建的数据库名和账号名不满足数据库命名规则(参见表2)和账号命名规则(参见表2),例如包含中文或不支持的特殊字符,那么该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。 如果源库的数据库名和账号名不满足数据库命名规则(参见表2)和账号命名规则(参见表2),迁移到目标库RDS for MySQL后,该数据库和账号也不支持RDS界面或API的数据库管理和账号管理功能。
  • URI URI格式 PUT /v3/{project_id}/instances/{instance_id}/db-users/{user_name}/comment 参数说明 表1 参数说明 名称 是否必选 说明 project_id 是 租户在某一region下的project ID。 获取方法请参见获取项目ID。 instance_id 是 实例ID。 user_name 是 数据库用户名。
  • 请求示例 查询慢日志数据,每页10条记录 POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/cee5265e1e5845649e354841234567dfin01/slow-logs { "start_time":"2023-01-02T23:58:57+0000", "end_time":"2023-01-06T01:47:20+0000", "limit":10, "line_num":"1672908793000000000" }
  • 响应消息 正常响应要素说明 表2 要素说明 名称 参数类型 说明 databases Array of objects 列表中每个元素表示一个数据库。 详情请参见表3。 表3 databases元素结构说明 名称 参数类型 说明 name String 数据库名称。 character_set String 数据库使用的字符集,例如utf8、gbk、ascii等。 users Array of objects 列表中每个元素表示一个与数据库关联的账号。 详情请参见表4。 表4 users元素结构说明 名称 参数类型 说明 name String 账号名。 readonly Boolean 是否为只读权限: true表示只读。 false表示可读写。 正常响应样例 { "databases": [ { "name": "rds-test", "character_set": "utf8", "users": [ { "name": "rds", "readonly": false } ] }, { "name": "testdb1", "character_set": "utf8", "users": [] }, { "name": "tt", "character_set": "utf8", "users": [] } ] } 异常响应 请参见异常请求结果。
  • 请求示例 对指定账号设置CREATEDB和LOGIN权限 POST https://rds.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/f569f1358436479dbcba8603c32cc4aein03/db-user-privilege { "user_name":"test123", "authorization_type":"ROLE", "privileges":["CREATEDB","LOGIN"] } 对指定账号回收CREATEDB和LOGIN权限 { "user_name":"test123", "authorization_type":"RECYCLING_ROLE", "privileges":["NOCREATEDB","NOLOGIN"] } 对指定账号授予系统角色pg_monitor { "user_name":"test123", "authorization_type":"SYSTEM_ROLE", "privileges":["pg_monitor"] } 对指定账号回收系统角色pg_monitor { "user_name":"test123", "authorization_type":"RECYCLING_SYSTEM_ROLE", "privileges":["pg_monitor"] }
  • 请求消息 参数说明 表2 请求Body参数 参数 是否必选 参数类型 描述 user_name 是 String 数据库相关联的账号名。 authorization_type 是 String 授权SQL类型。 枚举: ROLE:支持对指定用户设置以下权限。 RECYCLING_ROLE:支持对指定用户回收以下权限。 SYSTEM_ROLE:支持对指定用户授予以下系统角色。 RECYCLING_SYSTEM_ROLE:支持对指定用户回收以下系统角色。 privileges 是 Array of String 支持用户设置的权限集合。 authorization_type为ROLE时需要使用 枚举: CREATEDB CREATEROLE LOGIN REPLICATION authorization_type为RECYCLING_ROLE时需要使用 枚举: NOCREATEDB NOCREATEROLE NOLOGIN NOREPLICATION authorization_type为SYSTEM_ROLE /RECYCLING_ SYSTEM_ROLE时需要使用 枚举: pg_monitor pg_signal_backend root
  • 接口约束 实例在创建、变更规格、修改端口、异常或冻结状态下不能执行该操作。 除RDS界面和API以外的其他方式创建的数据库和账号,如果创建的数据库名和账号名不满足数据库命名规则(参见表2)和账号命名规则(参见表2),例如包含中文或不支持的特殊字符,那么该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。 如果源库的数据库名和账号名不满足数据库命名规则(参见表2)和账号命名规则(参见表2),迁移到目标库RDS for MySQL后,该数据库和账号也不支持RDS界面或API的数据库管理和账号管理功能。
  • 响应消息 正常响应要素说明 表2 要素说明 名称 参数类型 说明 users Array of objects 列表中每个元素表示一个数据库用户。 详情请参见表3。 total_count Integer 数据库用户总数。 表3 users元素结构说明 名称 参数类型 说明 name String 账号名。 attributes Object 用户的权限属性。 详情请参见表4。 memberof Array of strings 用户的默认权限。 comment String 用户备注。 表4 attributes 元素结构说明 名称 参数类型 说明 rolsuper Boolean 用户是否具有超级用户权限,取值为“false”。 rolinherit Boolean 用户是否自动继承其所属角色的权限,取值为“true”或“false”。 rolcreaterole Boolean 用户是否支持创建其他子用户,取值为“true”或“false”。 rolcreatedb Boolean 用户是否可以创建数据库,取值为“true”或“false”。 rolcanlogin Boolean 用户是否可以登录数据库,取值为“true”或“false”。 rolconnlimit Integer 用户连接实例的最大并发连接数。-1表示没有限制。 rolreplication Boolean 用户是否属于复制角色,取值为“true”或“false”。 rolbypassrls Boolean 用户是否绕过每个行级安全策略,取值为“true”或“false”。 正常响应样例 { "users": [ { "name": "rdsuser", "attributes": { "rolsuper": false, "rolinherit": true, "rolcreaterole": true, "rolcreatedb": true, "rolcanlogin": true, "rolconnlimit": -1, "rolreplication": true, "rolbypassrls": false }, "memberof": ["pg_monitor", "pg_read_all_stats", "pg_stat_scan_tables", "pg_signal_backend"] }, { "name": "rdsuser1", "attributes": { "rolsuper": false, "rolinherit": true, "rolcreaterole": true, "rolcreatedb": true, "rolcanlogin": true, "rolconnlimit": -1, "rolreplication": true, "rolbypassrls": false }, "memberof": [] }], "total_count": 2 }
  • 请求示例 授权rds账号可读可写、rds001账号只读 POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/dsfae23fsfdsae3435in01/db_privilege { "db_name": "rds-test", "users": [ { "name": "rds", "readonly": false }, { "name": "rds001", "readonly": true } ] }
  • 接口约束 实例在创建、变更规格、修改端口、异常或冻结状态下不能执行该操作。 除RDS界面和API以外的其他方式创建的数据库和账号,如果创建的数据库名和账号名不满足数据库命名规则(参见表2)和账号命名规则(参见表2),例如包含中文或不支持的特殊字符,那么该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。 如果源库的数据库名和账号名不满足数据库命名规则(参见表2)和账号命名规则(参见表2),迁移到目标库RDS for MySQL后,该数据库和账号也不支持RDS界面或API的数据库管理和账号管理功能。
  • 请求消息 参数说明 表2 参数说明 名称 是否必选 参数类型 说明 db_name 是 String 数据库名称。 users 是 Array of objects 每个元素都是与数据库相关联的账号。单次请求最多支持50个元素。 每个元素结构请参见表3。 表3 users列表元素数据结构说明 名称 是否必选 参数类型 说明 name 是 String 数据库账号名称。 数据库账号名称在1到32个字符之间,由字母、数字、中划线或下划线组成,不能包含其他特殊字符。 若数据库版本为MySQL5.6,账号长度为1~16个字符。 若数据库版本为MySQL5.7和8.0,账号长度为1~32个字符。 readonly 是 Boolean 是否为只读权限: “true”表示只读。 “false”表示可读写。
  • 请求示例 创建数据库db1的插件pg_stat_statements POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/f569f1358436479dbcba8603c32cc4aein03/extensions { "database_name" : "db1", "extension_name" : "pg_stat_statements" }
  • 接口约束 实例在创建、变更规格、修改端口、异常或冻结状态下不能执行该操作。 同一实例多次调用此接口需串行。 除RDS界面和API以外的其他方式创建的数据库和账号,如果创建的数据库名和账号名不满足数据库命名规则(参见表2)和账号命名规则(参见表2),例如包含中文或不支持的特殊字符,那么该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。 如果源库的数据库名和账号名不满足数据库命名规则(参见表2)和账号命名规则(参见表2),迁移到目标库RDS for MySQL后,该数据库和账号也不支持RDS界面或API的数据库管理和账号管理功能。
  • 请求示例 创建数据库用户rds。 POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/dsfae23fsfdsae3435in01/db_user { "name": "rds", "password": "************", "comment": "mysql", "hosts": [ "%" ], "databases" : [ { "name" : "***", "readonly" : false } ] }
  • 请求消息 参数说明 表2 参数说明 名称 是否必选 参数类型 说明 name 是 String 数据库账号名称。 数据库账号名称在1到32个字符之间,由字母、数字、中划线或下划线组成,不能包含其他特殊字符。 若数据库版本为MySQL5.6,账号长度为1~16个字符。 若数据库版本为MySQL5.7和8.0,账号长度为1~32个字符。 password 是 String 数据库账号密码。 取值范围: 非空,长度8~32个字符,至少包含大写字母、小写字母、数字、特殊字符~!@#$%^*-_=+?,()&三种字符的组合,不能和账号名或账号名的逆序相同。 建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。 comment 否 String 数据库账号备注。 取值范围:长度1~512个字符。目前仅支持MySQL 8.0.25及以上版本。 hosts 否 Array of strings 授权用户登录数据库的IP列表。 若IP地址为%,表示允许所有地址访问MySQL实例。 若IP地址为“10.10.10.%”,表示10.10.10.X的IP地址都可以访问MySQL实例。 支持添加多个IP地址。 databases 否 Array of objects 授权用户登录的数据库,详情请参见表3。 表3 databases元素结构说明 名称 是否必选 参数类型 说明 name 是 String 授权已有数据库名称。 readonly 否 Boolean 是否为只读权限。 true表示只读。 false表示可读写。
  • 请求消息 参数说明 表2 参数说明 名称 是否必选 参数类型 说明 name 是 String 数据库账号名称。 password 是 String 数据库账号密码。 取值范围: 非空,长度8~32个字符,至少包含以下字符中的三种:大写字母、小写字母、数字和特殊符号~!@#$%^*-_=+?,()&组成,不能和账号名或账号名的逆序相同。 建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。
  • 接口约束 实例在创建、变更规格、修改端口、异常或冻结状态下不能执行该操作。 除RDS界面和API以外的其他方式创建的数据库和账号,如果创建的数据库名和账号名不满足数据库命名规则(参见表2)和账号命名规则(参见表2),例如包含中文或不支持的特殊字符,那么该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。 如果源库的数据库名和账号名不满足数据库命名规则(参见表2)和账号命名规则(参见表2),迁移到目标库RDS for MySQL后,该数据库和账号也不支持RDS界面或API的数据库管理和账号管理功能。
  • 响应消息 正常响应要素说明 表2 要素说明 参数 参数类型 描述 total_count Integer 历史记录总数。 histories Array of objects 参数修改历史。 详情请参见表3。 表3 histories字段数据结构说明 名称 参数类型 说明 parameter_name String 参数名称。 old_value String 旧参数值。 new_value String 新参数值。 update_result String 更新结果。 SUCCESS:成功。 FAILED:失败。 applied Boolean 是否已应用。 true:已应用。 false:未应用。 update_time String 参数修改时间。 apply_time String 参数应用时间。 正常响应样例 { "total_count" : 3, "histories" : [ { "parameter_name" : "fill factor (%)", "old_value" : "0", "new_value" : "2", "update_result" : "SUCCESS", "applied" : true, "update_time" : "2022-10-29T09:39:21+0000", "apply_time" : "2022-10-31T01:46:29+0000" }, { "parameter_name" : "remote login timeout (s)", "old_value" : "10", "new_value" : "20", "update_result" : "SUCCESS", "applied" : true, "update_time" : "2022-10-29T09:38:36+0000", "apply_time" : "2022-10-29T09:38:36+0000" }, { "parameter_name" : "remote query timeout (s)", "old_value" : "600", "new_value" : "601", "update_result" : "SUCCESS", "applied" : true, "update_time" : "2022-10-29T09:40:30+0000", "apply_time" : "2022-10-29T09:40:30+0000" } ] } 异常响应 请参见异常请求结果。
  • URI URI格式 GET /v3/{project_id}/instances/{instance_id}/configuration-histories?offset={offset}&limit={limit}&start_time={start_time}&end_time={end_time}¶m_name={param_name} 参数说明 表1 参数说明 名称 是否必选 参数类型 说明 project_id 是 String 租户在某一region下的project ID。 获取方法请参见获取项目ID。 instance_id 是 String 实例ID。 offset 否 Integer 分页参数。 缺省值:0 limit 否 Integer 分页参数。 缺省值:10 start_time 否 String 开始时间默认为当前时间的前7天,格式:2020-09-01T18:50:20Z end_time 否 String 结束时间默认为当前时间,格式:2020-09-01T18:50:20Z param_name 否 String 参数名称。
  • 响应消息 正常响应要素说明 表2 要素说明 名称 参数类型 说明 datastore_version_name String 数据库版本名称。 datastore_name String 数据库名称。 created String 创建时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 updated String 更新时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 configuration_parameters Array of objects 参数对象,用户基于默认参数模板自定义的参数配置。 详情请参见表3。 表3 configuration_parameters字段数据结构说明 名称 参数类型 说明 name String 参数名称。 value String 参数值。 restart_required Boolean 是否需要重启。 “false”表示否。 “true”表示是。 readonly Boolean 是否只读。 “false”表示否。 “true”表示是。 value_range String 参数值范围,如Integer取值0-1、Boolean取值true或者false等。 type String 参数类型,取值为“string”、“integer”、“boolean”、“list”或“float”之一。 description String 参数描述。 正常响应样例 { "datastore_version_name": "5.7", "datastore_name": "mysql", "created": "2018-10-11 11:40:44", "updated": "2018-10-11 11:40:44", "configuration_parameters": [{ "name": "auto_increment_increment", "value": "1", "restart_required": false, "readonly": false, "value_range": "1-65535", "type": "integer", "description": "auto_increment_increment和auto_increment_offset 用于master-to-master的复制,并可以用来控制AUTO_INCREMENT列的操作。" }] } 异常响应 请参见异常请求结果。
  • 接口约束 实例在创建、变更规格、修改端口、异常或冻结状态下不能执行该操作。 除RDS界面和API以外的其他方式创建的数据库和账号,如果创建的数据库名和账号名不满足数据库命名规则(参见表2)和账号命名规则(参见表2),例如包含中文或不支持的特殊字符,那么该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。 如果源库的数据库名和账号名不满足数据库命名规则(参见表2)和账号命名规则(参见表2),迁移到目标库RDS for MySQL后,该数据库和账号也不支持RDS界面或API的数据库管理和账号管理功能。
  • 请求消息 参数说明 表2 参数说明 名称 是否必选 参数类型 说明 db_name 是 String 数据库名称。 users 是 Array of objects 每个元素是与数据库相关联的账号。单次请求最多支持50个元素。 每个元素结构请参见表3。 表3 users列表元素数据结构说明 名称 是否必选 参数类型 说明 name 是 String 数据库账号名称。 数据库账号名称在1到32个字符之间,由字母、数字、中划线或下划线组成,不能包含其他特殊字符。 若数据库版本为RDS for MySQL 5.6,账号长度为1~16个字符。 若数据库版本为RDS for MySQL 5.7和8.0,账号长度为1~32个字符。
  • 请求示例 DELETE https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/dsfae23fsfdsae3435in01/db_privilege { "db_name": "rds-test", "users": [ { "name": "rds" }, { "name": "rds001" } ] }
  • 请求示例 授权数据库账号读写权限,rds账号可读可写、rds001账号只读、rds002账号可读可写 POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/f569f1358436479dbcba8603c32cc4aein03/db_privilege {"db_name": "rds_test", "users": [ { "name": "rds", "readonly": false, "schema_name": "teste123" }, { "name": "rds001", "readonly": true, "schema_name": "teste123" }, { "name": "rds002", "readonly": false, "schema_name": "teste123" } ] }
  • 请求消息 参数说明 表2 参数说明 名称 是否必选 参数类型 说明 db_name 是 String 数据库名称。 数据库名称在1到63个字符之间,由字母、数字、或下划线组成,不能包含其他特殊字符,不能以“pg”和数字开头,且不能和RDS for PostgreSQL模板库重名。 RDS for PostgreSQL模板库包括postgres, template0 ,template1。 users 是 Array of objects 每个元素都是与数据库相关联的账号。单次请求最多支持50个元素。 每个元素结构请参见表3。 表3 users列表元素数据结构说明 名称 是否必选 参数类型 说明 name 是 String 数据库账号名称。 数据库账号名称在1到63个字符之间,由字母、数字、或下划线组成,不能包含其他特殊字符,不能以“pg”和数字开头,不能和系统用户名称相同且账号名称必须存在。 系统用户包括“rdsAdmin”,“ rdsMetric”, “rdsBackup”, “rdsRepl”,“ rdsProxy”, “rdsDdm”。 readonly 是 Boolean 数据库账号权限。 true:只读。 false:可读可写。 schema_name 是 String schema名称。 schema名称在1到63个字符之间,由字母、数字、或下划线组成,不能包含其他特殊字符,不能以“pg”和数字开头,不能和RDS for PostgreSQL模板库重名,且schema名称必须存在。 RDS for PostgreSQL模板库包括postgres, template0 ,template1。
  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域 指云资源所在的物理位置,同一区域内可用区间内网互通,不同区域间内网不互通。通过在不同地区创建云资源,可以将应用程序设计的更接近特定客户的要求,或满足不同地区的法律或其他要求。 可用区 一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 父主题: 使用前必读
共100000条