升级至CockroachDB 22.2时,如何确保备份用户权限兼容21.1.x与22.2.x?
兼容CockroachDB 21.1.x与22.2.x的备份权限配置方案
核心思路是给备份用户同时配置数据库级BACKUP权限和数据库级SELECT权限——21.1.x需要这两个权限才能完成备份,而22.2.x虽然不再依赖SELECT权限,但保留该权限不会产生冲突,完全不影响备份操作正常执行。
具体配置步骤:
创建备份专用用户(如果还没创建):
CREATE USER backup_user WITH PASSWORD 'secure_password';授予数据库级BACKUP权限(两个版本都必需的核心权限):
GRANT BACKUP ON DATABASE your_database TO backup_user;授予数据库级SELECT权限(满足21.1.x的要求,22.2.x完全兼容):
GRANT SELECT ON DATABASE your_database TO backup_user;
如果需要备份整个集群,还得加上集群级BACKUP权限:
GRANT BACKUP ON CLUSTER TO backup_user;
补充说明:
- 在21.1.x中,备份操作需要读取数据库的元数据和实际数据,数据库级SELECT权限能确保用户访问到所需内容,搭配BACKUP权限就能顺利完成备份。
- 在22.2.x中,备份逻辑已经优化,不需要依赖SELECT权限也能读取数据,但之前授予的SELECT权限不会被系统拒绝,也不会干扰备份流程,备份用户照样能正常执行备份操作。
内容的提问来源于stack exchange,提问作者histocrat
相关产品推荐
相关产品推荐

