1. 接口描述
本接口(CdbTdsqlSetRight)用于设置数据库帐号权限。
接口请求域名:tdsql.api.qcloud.com
2. 输入参数
以下请求参数列表仅列出了接口请求参数,正式调用时需要加上公共请求参数,见公共参数。其中,此接口的Action字段为CdbTdsqlSetRight。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
cdbInstanceId | 是 | Int | 实例ID |
userName | 是 | String | 用户名 |
host | 是 | String | 用户允许的访问host |
dbName | 是 | String | 数据库名。如果为 *,表示设置全局权限(即 *.*),此时忽略 type 和 object 参数 |
type | 是 | String | 类型,可以填入 table 、 view 、 proc 、 func 和 *。当 DbName 为具体数据库名,type为 * 时,表示设置该数据库权限(即db.*),此时忽略 object 参数 |
object | 否 | String | 具体的 Type 的名称,例如 type 为 table 时就是具体的表名。DbName 和 Type 都为具体名称,则 Object 表示具体对象名,不能为 * 或者为空 |
colName | 否 | String | 当 type=table 时,ColName 为 * 表示对表授权,如果为具体字段名,表示对字段授权 |
rights.n | 是 | String | 全局权限: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER, SHOW DATABASES 库权限: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER 表/视图权限: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE VIEW, SHOW VIEW, TRIGGER 存储过程/函数权限: ALTER ROUTINE, EXECUTE 字段权限: INSERT, REFERENCES, SELECT, UPDATE |
readOnly | 否 | Int | 0:默认值;1:该账号的sql请求优先选择备机操作,备机不可用时选择主机操作;2:优先选择备机操作,备机不可用时操作失败。字段暂未生效 |
dbMode | 否 | Int | 0:单机版;1:分布式(目前只开放单机功能,此参数无效) |
3. 输出参数
公共返回值结构在返回值可以查看,此处只列出 data 字段的返回值格式。
成功返回被影响的对象信息,失败返回错误原因。
4. 错误码表
以下是本接口常见的错误码,如果有不在此列的错误请查阅TDSQL错误码表
错误码 | 描述 |
---|---|
DbOperationFailed | DB内部失败 |
InstanceAlreadyDeleted | 实例已删除 |
InstanceStatusAbnormal | 实例状态异常(非删除), 不能进行操作 |
GetRightFailed | 获取权限失败 |
InnerSystemError | 内部系统错误,和业务无关 |
BadUserRight | 错误的用户权限 |
SuperUserForbidden | 不允许操作超级用户tdsql |
ModifyRightFailed | 修改权限失败 |
5. 示例
输入
https://tdsql.api.qcloud.com/v2/index.php? &<公共请求参数> &Action=CdbTdsqlSetRight &cdbInstanceId=40732 &userName=testuser1 &host=172.17.%.% &dbName=* &type=* &rights.0=select &rights.1=update
输出
{
"code": 0,
"message": "",
"codeDesc": "Success",
"data": {
"id": 40732,
"user": "testuser1",
"host": "172.17.%.%",
"db": "*",
"type": "*",
"object": "",
"col": ""
}
}