Иногда мне кажется, что единственным универсумом в программировании является цикл. (Алан.Дж.Перлис)

MySQL. Когда истечет срок действия пароля моих пользователей?

1 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
29 мая 2019
MySQL 8.0 и управление паролями пользователей
Возможно, вы уже знаете что в MySQL можно установить срок действия паролей.

Не всегда очевидно, когда истекает срок действия пароля. И большую часть времени, если вы не уделите много внимания, вы получите что-то вроде этого:

ERROR 1820 (HY000): You must reset your password using
ALTER USER statement before executing this statement.

 

Позвольте нам поделиться с вами небольшим запросом, который проверяет, как долго ваш пароль остается в силе в случае, если он был создан с задержкой истечения срока действия или если глобальная переменная default_password_lifetime установлена на сервере (с MySQL 5.7.4 до 5.7.10 было установлено на 360 по умолчанию)!

select user, password_last_changed,
concat(
cast(
 IFNULL(password_lifetime, @@default_password_lifetime) as signed)
 + cast(datediff(password_last_changed, now()) as signed), " days") expires_in
from mysql.user
where 
cast(
 IFNULL(password_lifetime, @@default_password_lifetime) as signed)
 + cast(datediff(password_last_changed, now()) as signed) >= 0 
 and user not like 'mysql.%';

 

Давайте посмотрим на результат, когда default_password_lifetime установлен на 0 (фактическое значение по умолчанию):

+-------+-----------------------+------------+
| user  | password_last_changed | expires_in |
+-------+-----------------------+------------+
| test  | 2019-05-16 12:34:11   | 2 days     |
| test2 | 2019-05-10 15:09:12   | 4 days     |
+-------+-----------------------+------------+

 

Теперь давайте изменим эту глобальную переменную:

mysql> set global default_password_lifetime=20;

+-------+-----------------------+------------+
| user  | password_last_changed | expires_in |
+-------+-----------------------+------------+
| fred  | 2019-05-12 18:23:54   | 16 days    |
| test  | 2019-05-16 12:34:11   | 2 days     |
| test2 | 2019-05-10 12:09:12   | 4 days     |
+-------+-----------------------+------------+

 

Это был легкий полезный запрос дня.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 31

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

    Добавить комментарий

    Войти с помощью: 

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам:

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close