<h1>GreatSQL备份报错"PROCESS权限不足"分析与解决</h1>
报错案例
某项目在执行备份时,运行 mysqldump 时报错:
$ /kingdee/greatdb/greatdb/bin/mysqldump -h inner-test.cndrealty.com -P 3307 -u portal_admin -p'xxxx' --set-gtid-purged=OFF cndrealty_mas_console > cndrealty_mas_console-20241224.BAK.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces
然而检查用户权限时却显示该账号拥有完整的数据库权限:
greatsql> SHOW GRANTS for 'portal_admin'@'%';
Grants for portal_admin@%
GRANT USAGE ON . TO portal_admin@%
GRANT ALL PRIVILEGES ON 3gol.* TO portal_admin@%
GRANT ALL PRIVILEGES ON kdrive.* TO portal_admin@%
GRANT ALL PRIVILEGES ON nacos.* TO portal_admin@%
GRANT ALL PRIVILEGES ON opensys.* TO portal_admin@%
GRANT ALL PRIVILEGES ON cndreality_mas_console.* TO portal_admin@%
GRANT ALL PRIVILEGES ON portal_db.* TO portal_admin@%
看似权限足够,为什么备份仍然失败?
一、深度解析 mysqldump 权限机制
mysqldump备份数据库时,实际上涉及多种权限,不只是简单的 SELECT:
- 基础权限:
SELECT(读取表数据)SHOW VIEW(导出视图定义)TRIGGER(导出触发器)
- 高级选项依赖权限:
--single-transaction模式下,一般不锁表,但在某些情况下仍可能需要LOCK TABLES权限。- 默认情况下(未使用
--no-tablespaces****)需要PROCESS权限,这是本次导致故障的关键权限。 - 对于 GreatSQL开启 GTID 的环境,还需要
RELOAD或FLUSH_TABLES权限。
未经允许不得转载:紫竹林-程序员中文网 » GreatSQL备份报错”PROCESS权限不足”分析与解决
相关推荐
- 「第三届开放原子大赛」获奖队伍专访来啦!企业篇
- 从本体论到落地实践:制造业数字化转型的核心逻辑与工具选择 | 葡萄城技术团队
- 轻松搞定Excel公式错误:SpreadJS让表格开发不再头疼 | 葡萄城技术团队
- vivo GPU容器与 AI 训练平台探索与实践
- SQLShift V6.0 发布!函数迁移&达梦适配一步到位!
- Oinone × AI Agent 落地指南:别让 AI Agent 负责“转账”:用神经-符号混合架构把它从 Demo 拉进生产
- 借助 Okta 和 NGINX Ingress Controller 实现 K8s OpenID Connect 身份验证
- 同样是低代码,为什么有人扩容有人烂尾?答案藏在交付体系里-拆解 Oinone 的交付底座
