GreatSQL备份报错”PROCESS权限不足”分析与解决


                                                                                                                                                <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 的环境,还需要 RELOADFLUSH_TABLES 权限。
未经允许不得转载:紫竹林-程序员中文网 » GreatSQL备份报错”PROCESS权限不足”分析与解决

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
关于我们 免责申明 意见反馈 隐私政策
程序员中文网:公益在线网站,帮助学习者快速成长!
关注微信 技术交流
推荐文章
每天精选资源文章推送
推荐文章
随时随地碎片化学习
推荐文章
发现有趣的