Spec-Zone.ru › MySQL 9.2

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-9.2-en/account-locking.html

Spec-Zone.ru

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