Spec-Zone.ru › MySQL 8.4

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.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/account-locking.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API