У вас нет прав доступа к ПРОЦЕССУ в /usr/bin/pt-онлайн-изменение схемы строка 4456, строка 1

#mysql #linux #amazon-rds #rhel #pt-online-schema-change

Вопрос:

Я экспериментирую с инструментом pt-online-изменения схемы с базой данных MySQL 5.7, размещенной в AWS RDS. Я преодолел несколько различных проблем с конфигурацией, и когда я запускаю, dry-run все выглядит хорошо, но я сразу же получаю эту ошибку, когда пытаюсь выполнить команду с execute флагом.

Я запускаю это на Amazon Linux 2, который основан на RHEL 8 (я полагал). Я не уверен, связано ли это с моими разрешениями для 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.
 

Комментарии:

1. Если я правильно помню, вы можете запустить pt-online-schema-change --recursion-method none , и для этого не потребуется привилегия ПРОЦЕССА. Но если вы это сделаете, он не будет отслеживать задержку репликации.

Ответ №1:

В итоге мне пришлось предоставить дополнительные привилегии пользователю MySQL, используемому для миграции с помощью pt-online-изменения схемы.

Предполагая, что имя БД my_db и пользователь есть my_user , выполнение этих команд должно предоставить инструменту разрешения, необходимые для выполнения миграции.

 GRANT PROCESS, SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO my_user;
GRANT ALL PRIVILEGES ON `my_db`.* TO my_user;
 

Комментарии:

1. Если вы используете грант all, первый грант вам не нужен