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

云数据库 RDS

账号管理

账号管理

创建账号

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

Java
1public void createAccount(RdsClient rdsClient) {
2        RdsCreateAccountRequest createAccountRequest = new RdsCreateAccountRequest();
3        //指定实例 ID,必选
4        createAccountRequest.setInstanceId("rds-nr2GCznE");
5        //账号名称,不能为保留关键字,必选
6        createAccountRequest.setAccountName("test_acc");
7        //账号的密码,由字母、数字或下划线组成,长度6~32位。密码需要加密传输,禁止明文传输,必选
8        createAccountRequest.setPassword("rds_passwordKJH");
9        //账号权限类型 Common:普通账号,Super:super账号。不传递此参数默认:普通,可选
10        createAccountRequest.setAccountType(RdsAccountType.Common);
11        //MySQL和SQL Server实例可设置此项
12        DatabasePrivilege privilege = new DatabasePrivilege();
13        //数据库名称
14        privilege.setDbName("test");
15        //授权类型。ReadOnly:只读,ReadWrite:读写
16        privilege.setAuthType("ReadOnly");
17        List<DatabasePrivilege> privileges = new ArrayList<>();
18        privileges.add(privilege);
19        createAccountRequest.setDatabasePrivileges(privileges);
20        //账号的描述信息,可选
21        createAccountRequest.setDesc("rds_sdk_created_createAccount_test");
22        //账号归属类型:OnlyMaster:主实例上使用的账号,RdsProxy:该主实例对应的代理实例上使用的账号,默认为OnlyMaster账号,可选
23        createAccountRequest.setType("OnlyMaster");
24        try {
25            AbstractBceResponse accountResponse = rdsClient.createAccount(createAccountRequest);
26            print("createAccount", accountResponse);
27        } catch (GeneralSecurityException e) {
28            e.printStackTrace();
29        }
30    }

注意:

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

查询账号列表

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

Java
1public void getAccountList(RdsClient rdsClient) {
2        RdsAccountListRequest listRequest = new RdsAccountListRequest();
3        //实例ID,必选
4        listRequest.setInstanceId("rds-jHqrZCEk");
5        RdsAccountListResponse listResponse = rdsClient.getAccountList(listRequest);
6        print("getAccountList", listResponse);
7    }

查询特定账号信息

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

Java
1public void getSpecificAccountInfo(RdsClient rdsClient) {
2        RdsAccountInfoRequest infoRequest = new RdsAccountInfoRequest();
3        //实例ID,必选
4        infoRequest.setInstanceId("rds-eI0QnwMi");
5        //账号名,必选
6        infoRequest.setAccountName("rds_test_name");
7        RdsAccount accountInfo = rdsClient.getSpecificAccountInfo(infoRequest);
8        print("getSpecificAccountInfo", accountInfo);
9    }

修改账号备注

使用以下代码可以修改账号备注

Java
1public void modifyAccountRemark(RdsClient rdsClient) {
2        RdsModifyAccountRemarksRequest request = new RdsModifyAccountRemarksRequest();
3        //实例ID,必选
4        request.setInstanceId("rds-jHqrZCEk");
5        //账号的描述信息,必选
6        request.setRemark("remark1111111944499994");
7        //账号名称,必选
8        request.setAccountName("test_account123");
9        AbstractBceResponse response = rdsClient.modifyAccountRemark(request);
10    }

修改账号权限

使用以下代码可以修改账号权限

Java
1public void modifyAccountPermissions(RdsClient rdsClient) {
2        RdsModifyAccountPermissionRequest request = new RdsModifyAccountPermissionRequest();
3        //实例ID,必选
4        request.setInstanceId("rds-tXjFULZA");
5        //账号名称,必选
6        request.setAccountName("nosuper");
7        //具体的数据库权,为具体的一个库添加权限。MySQL和SQL Server实例可设置此项。必选
8        DatabasePrivilege privilege = new DatabasePrivilege();
9        //授权类型。ReadOnly:只读,ReadWrite:读写,必选
10        privilege.setAuthType("ReadOnly");
11        //数据库名称
12        privilege.setDbName("nosuperdb");
13        List<DatabasePrivilege> privileges = new ArrayList<>();
14        privileges.add(privilege);
15        request.setDatabasePrivileges(privileges);
16        AbstractBceResponse response =rdsClient.modifyAccountPermissions(request);
17    }

修改账号密码

使用以下代码可以修改账号密码

Java
1public void modifyAccountPassword(RdsClient rdsClient)  {
2        try {
3            RdsModifyAccountPasswordRequest request = new RdsModifyAccountPasswordRequest();
4            //指定实例 ID,必选
5            request.setInstanceId("rds-tXjFULZA");
6            //账号名称,必选
7            request.setAccountName("nosuper");
8            //账号的密码,由字母、数字或下划线组成,长度6~32位,密码需要加密传输,禁止明文传输,必选
9            request.setPassword("123jklMN");
10            AbstractBceResponse response = rdsClient.modifyAccountPassword(request);
11        } catch (Throwable t) {
12            System.exit(1);
13        }
14    }

删除账号

Java
1public void deleteAccount(RdsClient rdsClient) {
2        RdsDeleteAccountRequest request = new RdsDeleteAccountRequest();
3        //指定实例ID,必选
4        request.setInstanceId("rds-RhmXpFKn");
5        //账号名称,必选
6        request.setAccountName("delaccount");
7        AbstractBceResponse response = rdsClient.deleteAccount(request);
8    }
上一篇
实例管理
下一篇
数据库管理