GBase 8a
备份恢复
文章
在某麒麟V10 ARM环境下 GBase8a数据库备份脚本gcrcman指定P参数导致报错(拒绝访问)问题的解决方案
发表于2025-12-29 11:10:0240次浏览1个评论
1.问题描述:
在执行 gcrcman 备份脚本时,我们按照标准命令传入了大写 -P 参数(用于指定操作系统用户 gbase 的密码):
python gcrcman.py -U gbase -p GBase2O11O531 -P Kylin@2025Kylin@2025 -d /data/bak1225但脚本却报错:“拒绝访问”(Access denied)。
2.问题分析:
经过多轮测试,我们发现:在 标准 x86 环境 和 其他 ARM 环境 下,该命令可以正常运行。
但在该环境(麒麟V10 ARM)中,即使密码完全正确,依然报错。
进一步排查后确认:该环境中的 gbase 操作系统用户已配置为免密登录。
然而,脚本内部仍尝试通过 -P 参数传递密码进行身份验证,由于未知原因,导致传递的密码未被正确使用,导致“拒绝访问”。
3. 解决方案:
针对这一特殊情况,我们采取了以下两项调整措施:
(1) 修改脚本逻辑
定位到脚本文件 gcrcman_br_node.py,其中包含通过 -P 参数向远程节点传递操作系统密码的代码段。

由于当前环境已实现免密,我们可以安全地注释或屏蔽相关密码传递逻辑,避免脚本尝试使用密码认证。
注意:此修改仅适用于明确已配置免密的环境,切勿在生产通用脚本中随意删除认证逻辑!
(2) 调整备份命令
备份命令转变为:直接不传 -P 参数。
修改后的标准备份命令如下:
python gcrcman.py -U gbase -p GBase2O11O531 -d /data/bak1225去掉 -P Kylin@2025Kylin@2025 后,脚本不再尝试密码认证,转而依赖系统已有的免密机制,成功完成备份任务。
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526