8.2.20 Блокировка учетных записей
MySQL поддерживает блокировку и разблокировку учетных записей пользователей с помощью ACCOUNT LOCK и ACCOUNT
UNLOCK для команд CREATE
USER и ALTER USER:
-
При использовании с
CREATE USER, эти предложения задают начальное состояние блокировки для новой учетной записи. При отсутствии любого из предложений учетная запись создается в разблокированном состоянии.Если компонент
validate_passwordвключен, создание учетной записи без пароля запрещено, даже если учетная запись заблокирована. См. Раздел 8.4.3, «Компонент проверки паролей». -
При использовании с
ALTER USER, эти предложения задают новое состояние блокировки для существующей учетной записи. При отсутствии любого из предложений состояние блокировки учетной записи остается неизменным.ALTER USER ... UNLOCKразблокирует любые учетные записи, указанные в запросе, временно заблокированные из-за слишком большого числа неудачных попыток входа. См. Раздел 8.2.15, «Управление паролями».
Состояние блокировки учетной записи записывается в столбец account_locked таблицы системы mysql.user. Вывод команды SHOW CREATE USER указывает, заблокирована ли учетная запись или разблокирована.
Если клиент пытается подключиться к заблокированной учетной записи, попытка завершается неудачно. Сервер увеличивает переменную состояния Locked_connects, которая указывает количество попыток подключения к заблокированной учетной записи, возвращает ошибку и записывает сообщение в журнал ошибок:
Access denied for user 'user_name'@'host_name'.
Account is locked.
Блокировка учетной записи не влияет на возможность подключения с помощью пользователя-прокси, который принимает личность заблокированной учетной записи. Это также не влияет на возможность выполнения хранимых процедур или представлений, имеющих атрибут DEFINER, называющий заблокированную учетную запись. То есть, возможность использования прокси-учетной записи или хранимых процедур или представлений не зависит от блокировки учетной записи.
Возможность блокировки учетных записей зависит от наличия столбца account_locked в таблице системы mysql.user. Для обновлений с версий MySQL, более ранних, чем 5.7.6, выполните процедуру обновления MySQL, чтобы убедиться, что этот столбец существует. См. Главу 3, «Обновление MySQL». Для установок, не обновленных, в которых нет столбца account_locked, сервер обрабатывает все учетные записи как разблокированные, и использование предложений ACCOUNT
LOCK или ACCOUNT UNLOCK приводит к ошибке.
© 2025 Oracle
Licensed under the GPLv2 License.