15.7.1.7 Заявление RENAME USER
RENAME USER old_user TO new_user
[, old_user TO new_user] ...
Заявление RENAME USER переименовывает существующие учётные записи MySQL. Возникает ошибка для старых учётных записей, которые не существуют, или новых учётных записей, которые уже существуют.
Для использования RENAME USER, необходимо иметь глобальный CREATE USER привилегий или UPDATE привилегии для схемы системы mysql. Когда системная переменная read_only включена, RENAME USER дополнительно требует CONNECTION_ADMIN привилегии (или устаревшей SUPER привилегии).
RENAME USER завершается ошибкой, если любое переименовываемое имя учётной записи указано в качестве атрибута DEFINER для любого хранимого объекта. (То есть, заявление завершается ошибкой, если переименование учётной записи приведет к тому, что хранимый объект станет сиротой.) Чтобы выполнить операцию в любом случае, необходимо иметь SET_ANY_DEFINER или ALLOW_NONEXISTENT_DEFINER привилегию; в этом случае заявление завершается с предупреждением, а не ошибкой. Дополнительная информация, включая то, как определить, какие объекты указывают данную учётную запись как атрибут DEFINER, содержится в Orphan Stored Objects.
Каждое имя учётной записи использует формат, описанный в разделе 8.2.4 «Указание имён учётных записей». Например:
RENAME USER 'jeffrey'@'localhost' TO 'jeff'@'127.0.0.1';
Часть имени учётной записи, относящаяся к хосту, по умолчанию равна '%', если она опущена.
RENAME USER приводит к тому, что привилегии, имеющиеся у старого пользователя, становятся привилегиями нового пользователя. Однако RENAME USER не автоматически удаляет или делает недействительными базы данных или объекты в них, созданные старым пользователем. Это включает хранимые программы или представления, для которых атрибут DEFINER указывает старого пользователя. Попытки доступа к таким объектам могут привести к ошибке, если они выполняются в контексте безопасности definer. (Дополнительная информация о контексте безопасности см. в разделе 27.6 «Управление доступом к хранимым объектам»).
Изменения привилегий вступают в силу, как указано в разделе 8.2.13 «Когда вступают в силу изменения привилегий».
© 2025 Oracle
Licensed under the GPLv2 License.