AWS RDS MySQL5.7运行pt-online-schema-change报PROCESS权限错误如何解决?
问题原因
这个报错属于MySQL账号权限缺失,和Linux侧运行命令的root权限没有关联。
pt-online-schema-change在--execute实际执行模式下,会调用MySQL的PROCESS权限查看当前实例的运行进程、锁状态,避免变更和其他正在执行的操作冲突,而--dry-run模式仅做基础语法和配置校验,不会触发这部分权限校验,因此会出现dry-run正常但执行时报错的情况。
解决方案
你需要给连接RDS使用的MySQL账号追加全局PROCESS权限:
- 使用RDS实例的高权限主账号连接到MySQL服务
- 执行授权命令,替换对应参数后运行:
-- 替换为你实际使用的用户名、客户端访问IP GRANT PROCESS ON *.* TO 'my_user'@'192.168.1.100'; -- 权限生效 FLUSH PRIVILEGES;
注意:PROCESS是全局级权限,必须指定
*.*的授权范围,不能绑定到单个数据库。如果你的客户端IP不固定,可以将IP替换为%允许所有地址访问,生产环境不建议使用该配置。
验证方法
使用待授权的my_user账号连接MySQL,执行以下命令确认权限已生效:
SHOW GRANTS FOR CURRENT_USER;
返回结果中包含PROCESS权限后,即可重新执行pt-online-schema-change的变更命令。
内容的提问来源于stack exchange,提问作者JD D
相关产品推荐
相关产品推荐

