数据库用户权限要求
在使用DRS进行同步时,连接源库和目标库的数据库用户需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的用户权限也不同,详细可参考表3进行赋权。DRS会在“预检查”阶段对数据库用户权限进行自动检查,并给出处理建议。
- 建议创建单独用于DRS任务连接的数据库用户,避免因为数据库用户密码修改,导致的任务连接失败。
- 连接源或目标数据库的用户密码修改后,请尽快修改DRS任务中的连接信息,避免任务连接失败后自动重试,导致数据库用户被锁定影响使用。
- 由于 分布式数据库 为源链路需要检查每个DN的连通性,建议使用非root数据库用户进行同步,避免因为密码填写错误在连接DN过程中导致用户被锁定。
表3 数据库用户权限
类型名称 |
全量同步 |
增量同步 |
全量+增量同步 |
源数据库连接用户 |
具备sysadmin角色或者以下最小权限:
- 需要DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT或UPDATE权限(无主键表锁表需要UPDATE权限)、SEQUENCE的SELECT权限。
- 需要具备远程连接权限,添加方法可参考 GaussDB 远程连接配置方法。
|
具备sysadmin角色或者以下最小权限:
- 需要REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT权限,如果需要使用内容对比,需要拥有用户的MONADMIN权限。
- 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。
- 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。
|
具备sysadmin角色或者以下最小权限:
- 需要REPLICATION权限或继承了内置角色gs_role_replication的权限、DATABASE的CONNECT权限、SCHEMA的USAGE权限、表的SELECT或UPDATE权限(无主键表锁表需要UPDATE权限)、SEQUENCE的SELECT权限,如果需要使用内容对比,需要拥有用户的MONADMIN权限。
- 需要具备远程连接权限,添加方法可参考GaussDB远程连接配置方法。
- 需要保证安全组和防火墙策略放开对应连接端口,详细说明可参考GaussDB为源链路增量同步连接及端口说明。
|
目标数据库连接用户 |
具备sysadmin角色或者以下最小权限:
- 需要DATABASE的CONNECT和CREATE权限、SCHEMA的USAGE和CREATE权限、表的INSERT、UPDATE、DELETE、SELECT、ALTER、INDEX、COMMENT权限。
- 如果需要使用内容对比,需要拥有用户的MONADMIN权限。
- 目标库使用gsloader等工具创建相关系统表(如 public.pgxc_copy_error_log,public.gs_copy_summary)时,DRS访问相关系统表需要有系统表的all privilege权限,详细信息可参考《GaussDB工具参考》。
|