Primeiro, a força do gerenciamento de senhas
Na versão 5.7, se uma senha de usuário é muito simples, você pode receber o seguinte erro:
GRANT REPLICATION CLIENT ON *.*TO 'username'@'%' IDENTIFIED BY ‘xxxxxxxx’;
ERROR 1819 (HY000): Your password does notsatisfy the current policy requirements
Este erro e validate_password_policy valor do parâmetro relacionado. O padrão é 1: Conheça o comprimento e deve conter números, letras maiúsculas e minúsculas, caracteres especiais.
o valor |
significado |
0 ou BAIXA |
comprimento |
1 ou MÉDIO |
Comprimento; numéricos, maiúsculas / minúsculas e caracteres especiais |
2 ou FORTE |
Comprimento; numérico, maiúsculas / minúsculas, e caracteres especiais; arquivo de dicionário |
Se você não quiser que a senha é complexo, ele pode ser modificado:
set global validate_password_policy=0;
GRANT REPLICATION CLIENT ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'xxxxxxxx';
Query OK, 0 rows affected, 1 warning (0.02sec)
Alterar o comprimento mínimo da senha de 4
set global validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)
Ver outros parâmetros relevantes
SHOW VARIABLES LIKE 'validate_password%';
Em segundo lugar, a política de expiração de senha
1. Desde a versão 5.6.6
Adicionado recurso password_expired que permite aos usuários definir expiração de senha.
ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE;
Este recurso foi adicionado ao mysql.user tabela de dados, o valor padrão é "N", pode ser usado para modificar a instrução ALTER USER.
Uma vez que um usuário deste opção é definida como "Y", em seguida, o usuário ainda pode fazer logon no servidor MySQL, mas não pode executar qualquer consulta antes que o usuário não definiu uma nova senha, caso contrário ele irá obter o seguinte erro:
SHOW DATABASES;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
Expirado para levantar o estado: o usuário ou administrador para redefinir sua senha
alter user mdba@localhost identified by 'Aisino123!';
flush privileges;
2. Desde a versão 5.7.4
As variáveis globais podem default_password_lifetime para definir política de expiração senha global
- Na versão 5.7.4 - 5.7.10, default_password_lifetime valor padrão é 360
- Depois de 5.7.11, valor padrão mysqldefault_password_lifetime é 0
my.cnf configuração é a seguinte:
[mysqld]
default_password_lifetime=90
privilégios de super pode ser usado em MySQL Runtime modificar esta configuração:
SET GLOBAL default_password_lifetime = 90;
Você também pode usar o comando ALTER USER para definir um valor específico para cada usuário individual, ele substituirá automaticamente a política global de expiração de senha (nota ALTER unidade declaração USUÁRIO intervalo é o dia)
-- 设置'testuser'@'localhost'用户密码30天过期
ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE INTERVAL 30 DAY;
-- 设置'testuser'@'localhost'用户密码不过期
ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE NEVER;
-- 设置'testuser'@'localhost'用户使用全局密码过期策略
ALTER USER 'testuser'@'localhost' PASSWORD EXPIRE DEFAULT;
Em terceiro lugar, o bloqueio e desbloqueio utilizador
Versão 5.7.8 início, adicionar um novo recurso para os usuários bloquear / desbloquear
ALTER USER 'furrywall'@'localhost' ACCOUNT LOCK;
ALTER USER 'furrywall'@'localhost' ACCOUNT UNLOCK;
-- 验证
select user,host,account_locked from mysql.user;
referência:
https://blog.csdn.net/sinat_29461437/article/details/78113250
https://www.cnblogs.com/JiangLe/p/7655165.html