搜索本产品文档关键词
账号管理
所有文档
menu

云数据库 RDS

账号管理

账号管理

创建账号

使用以下代码可以在某个主实例下创建一个新的账号。

Go
1// import "github.com/baidubce/bce-sdk-go/services/rds"
2
3args := &rds.CreateAccountArgs{
4	// 账号名称,不能为保留关键字,必选
5    AccountName: "accountName",
6    // 账号的密码,由字母、数字或下划线组成,长度6~32位,密码需要加密传输,禁止明文传输,必选
7    Password: "password",
8    // 账号权限类型,Common:普通账号,Super:super账号。默认为普通账号,可选
9    AccountType: "Common",
10    // MySQL和SQL Server实例可设置此项,可选
11    DatabasePrivileges: []rds.DatabasePrivilege{
12            {
13                //数据库名称
14                DbName: "user_photo_001",
15                //授权类型。ReadOnly:只读,ReadWrite:读写
16                AuthType: "ReadOnly",
17            },   
18        },
19    // 账号的描述信息,可选
20    Desc: "账号user1", 
21    // 账号归属类型,OnlyMaster:主实例上使用的账号,RdsProxy:该主实例对应的代理实例上使用的账号。默认为OnlyMaster账号,可选
22    Type: "OnlyMaster",
23}
24err = client.CreateAccount(instanceId, args)
25if err != nil {
26    fmt.Printf("create account error: %+v\n", err)
27    return
28}
29
30fmt.Println("create account success.")

注意:

  • 实例状态为Available,实例必须是主实例。
  • 没有超出实例最大账号数量。
  • 若实例的数据库引擎为PostgreSQL,则只允许创建Super账号。其它账号和数据库操作通过这个Super账号来管理。
  • 若实例的数据库引擎为MySQL,则允许创建任意类型的账号。
  • 若实例的数据库引擎为SQLServer,则只允许创建Common账号。

查询账号列表

使用以下代码可以查询指定实例的账号列表。

Go
1// import "github.com/baidubce/bce-sdk-go/services/rds"
2
3result, err := client.ListAccount(instanceId)
4if err != nil {
5    fmt.Printf("list account error: %+v\n", err)
6    return
7}
8
9// 获取account的列表信息
10for _, e := range result.Accounts {
11    fmt.Println("rds accountName: ", e.AccountName)
12    fmt.Println("rds desc: ", e.Desc)
13    fmt.Println("rds status: ", e.Status)
14    fmt.Println("rds type: ", e.Type)
15    fmt.Println("rds accountType: ", e.AccountType)
16}

查询特定账号信息

使用以下代码可以查询特定账号信息。

Go
1// import "github.com/baidubce/bce-sdk-go/services/rds"
2
3result, err := client.GetAccount(instanceId,accountName)
4if err != nil {
5    fmt.Printf("get account error: %+v\n", err)
6    return
7}
8
9// 获取account的列表信息
10fmt.Println("rds accountName: ", result.AccountName)
11fmt.Println("rds desc: ", result.Desc)
12fmt.Println("rds status: ", result.Status)
13fmt.Println("rds type: ", result.Type)
14fmt.Println("rds accountType: ", result.AccountType)

更新账号描述信息

使用以下代码可以更新账号描述信息

Go
1// import "github.com/baidubce/bce-sdk-go/services/rds"
2args := &ModifyAccountDesc{
3    Remark: "test",
4}
5err := client.ModifyAccountDesc(instanceId,accountName,args)
6if err != nil {
7    fmt.Printf("modify account desc error: %+v\n", err)
8    return
9}
10fmt.Printf("modify account desc success\n")

删除特定账号信息

使用以下代码可以删除特定账号信息。

Go
1// import "github.com/baidubce/bce-sdk-go/services/rds"
2
3result, err := client.DeleteAccount(instanceId,accountName)
4if err != nil {
5    fmt.Printf("delete account error: %+v\n", err)
6    return
7}
8fmt.Printf("delete account success\n")

更新账号密码

使用以下代码可以更新账号密码

Go
1// import "github.com/baidubce/bce-sdk-go/services/rds"
2args := &UpdatePasswordArgs{
3    Password: "test",
4}
5err := client.UpdateAccountPassword(instanceId,accountName,args)
6if err != nil {
7    fmt.Printf("update account password error: %+v\n", err)
8    return
9}
10fmt.Printf("update account password success\n")

更新账号权限

使用以下代码可以更新账号权限

Go
1// import "github.com/baidubce/bce-sdk-go/services/rds"
2args := &UpdateAccountPrivileges{
3    DatabasePrivileges: []DatabasePrivilege{{
4        DbName:   "test_db",
5        AuthType: "ReadOnly",
6    }},
7}
8err := client.UpdateAccountPrivileges(instanceId,accountName,args)
9if err != nil {
10    fmt.Printf("update account privilege error: %+v\n", err)
11    return
12}
13fmt.Printf("update account privilege success\n")
上一篇
实例管理
下一篇
数据库管理