账号管理
所有文档

          云数据库 RDS

          账号管理

          账号管理

          创建账号

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

          // import "github.com/baidubce/bce-sdk-go/services/rds"
          
          args := &rds.CreateAccountArgs{
          	// 账号名称,不能为保留关键字,必选
              AccountName: "accountName",
              // 账号的密码,由字母、数字或下划线组成,长度6~32位
              Password: "password",
              // 账号权限类型,Common:普通帐号,Super:super账号。默认为普通账号,可选
              AccountType: "Common",
              // MySQL和SQL Server实例可设置此项,可选
              DatabasePrivileges: []rds.DatabasePrivilege{
                      {
                          //数据库名称
                          DbName: "user_photo_001",
                          //授权类型。ReadOnly:只读,ReadWrite:读写
                          AuthType: "ReadOnly",
                      },   
                  },
              // 帐号的描述信息,可选
              Desc: "账号user1", 
              // 帐号归属类型,OnlyMaster:主实例上使用的帐号,RdsProxy:该主实例对应的代理实例上使用的帐号。默认为OnlyMaster账号,可选
              Type: "OnlyMaster",
          }
          err = client.CreateAccount(instanceId, args)
          if err != nil {
              fmt.Printf("create account error: %+v\n", err)
              return
          }
          
          fmt.Println("create account success.")

          注意:

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

          查询账号列表

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

          // import "github.com/baidubce/bce-sdk-go/services/rds"
          
          result, err := client.ListAccount(instanceId)
          if err != nil {
              fmt.Printf("list account error: %+v\n", err)
              return
          }
          
          // 获取account的列表信息
          for _, e := range result.Accounts {
              fmt.Println("rds accountName: ", e.AccountName)
              fmt.Println("rds desc: ", e.Desc)
              fmt.Println("rds status: ", e.Status)
              fmt.Println("rds type: ", e.Type)
              fmt.Println("rds accountType: ", e.AccountType)
          }

          查询特定账号信息

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

          // import "github.com/baidubce/bce-sdk-go/services/rds"
          
          result, err := client.GetAccount(instanceId,accountName)
          if err != nil {
              fmt.Printf("get account error: %+v\n", err)
              return
          }
          
          // 获取account的列表信息
          fmt.Println("rds accountName: ", result.AccountName)
          fmt.Println("rds desc: ", result.Desc)
          fmt.Println("rds status: ", result.Status)
          fmt.Println("rds type: ", result.Type)
          fmt.Println("rds accountType: ", result.AccountType)

          删除特定账号信息

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

          // import "github.com/baidubce/bce-sdk-go/services/rds"
          
          result, err := client.DeleteAccount(instanceId,accountName)
          if err != nil {
              fmt.Printf("delete account error: %+v\n", err)
              return
          }
          fmt.Printf("delete account success\n")
          上一篇
          实例管理
          下一篇
          参数管理