0

我正在使用由 AWS RDS 托管的 MySQL 5.7 数据库来试验 pt-online-schema-change 工具。我已经解决了一些不同的配置问题,当我运行时dry-run一切看起来都很好,但是当我尝试运行带有execute标志的命令时,我立即收到此错误。

我在基于 RHEL 8 的 Amazon Linux 2 上运行它(我相信)。我不确定这是否与我的 Linux 权限或我的数据库权限有关。我在我的工作站上以 root 身份运行它,并且我的 MySQL 用户具有相当高的权限。

我在Percona 论坛上找到了一个帖子,但它是很久以前的,只有一个回复,而且回复没有提供任何关于如何解决的具体建议,而且我不确定根据其他关于 linux 的互联网研究,回复是否有效进程权限。

有关如何解决此错误的任何建议?我是否需要为我的 MYSQL 用户或在 linux 命令行端添加更多权限?

$ pt-online-schema-change D=my_db,t=my_table,h=my_host.com,u=my_user --alter="drop COLUMN ios_notification_token" --alter-foreign-keys-method="auto" --ask-pass --preserve-triggers --execute
Enter MySQL password: 
You do not have the PROCESS privilege at /usr/bin/pt-online-schema-change line 4456, <STDIN> line 1.
4

1 回答 1

1

我最终需要通过 pt-online-schema-change 向用于迁移的 MySQL 用户授予额外的权限。

假设数据库名称是my_db并且用户是my_user,运行这些命令应该为工具提供执行迁移所需的权限。

GRANT PROCESS, SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO my_user;
GRANT ALL PRIVILEGES ON `my_db`.* TO my_user;
于 2021-10-04T21:01:11.177 回答