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, см. в Сироты хранимых объектов.
Каждое имя учётной записи использует формат, описанный в разделе 8.2.4, «Указание имён учётных записей». Например:
RENAME USER 'jeffrey'@'localhost' TO 'jeff'@'127.0.0.1';
Часть имени учётной записи, обозначающая хост, по умолчанию равна '%', если она опущена.
RENAME USER приводит к тому, что права, имеющиеся у старого пользователя, становятся правами нового пользователя. Однако RENAME USER не автоматически удаляет или делает недействительными базы данных или объекты в них, созданные старым пользователем. Это включает хранимые программы или представления, для которых атрибут DEFINER именует старого пользователя. Попытки доступа к таким объектам могут привести к ошибке, если они выполняются в контексте безопасности definer. (Дополнительную информацию о контексте безопасности см. в разделе 27.7, «Управление доступом к хранимым объектам».)
Изменения прав вступают в силу, как указано в разделе 8.2.13, «Когда вступают в силу изменения прав».
© 2025 Oracle
Licensed under the GPLv2 License.