Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como corrigir “ERRO MySQL 1819 (HY000):” no Linux


Ao criar um MySQL usuário com uma senha relativamente fraca, você pode encontrar o erro 'MySQL ERROR 1819 (HY000):Sua senha não atende aos requisitos da política atual '. Tecnicamente, isso não é um erro, mas uma notificação de que você está usando uma senha que não atende aos requisitos de política de senha recomendados.

Em outras palavras, você está usando uma senha fraca que pode ser facilmente adivinhada ou forçada. O mecanismo de segurança integrado desencoraja os usuários a criar senhas fracas que podem tornar seu banco de dados propenso a violações.
Artigo relacionado :Dicas úteis para solucionar erros comuns no MySQL
Por exemplo, encontrei o erro ao criar um usuário conforme mostrado
mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;

É óbvio que a senha é extremamente fraca e pode apresentar um risco de segurança.

Como resolver o MySQL ERROR 1819 (HY000) no Linux


O MySQL banco de dados é fornecido com uma validate_password plugin que, quando ativado, impõe uma política de validação de senha. Existem 3 níveis de política de validação de senha que são aplicados pelo plugin.
  • BAIXO :permite que os usuários definam uma senha de 8 caracteres ou menos.
  • MÉDIO :permite que os usuários definam uma senha de 8 ou menos caracteres com maiúsculas e minúsculas e caracteres especiais.
  • FORTE :permite que os usuários definam uma senha que tenha todos os atributos de uma senha de nível médio com a inclusão de um arquivo de dicionário.

Por padrão, a política de senha é definida como MEDIUM . Você pode confirmar o nível de política de senha, executando o comando:
$ SHOW VARIABLES LIKE 'validate_password%';

Se você executar o comando e obtiver o conjunto vazio de saída, o plug-in ainda não está ativado.

Para ativar a validate_password plugin, execute os comandos abaixo.
mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';
mysql> install plugin validate_password soname 'validate_password.so';

Para confirmar que o plugin está ativado, execute o comando.
mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';

Você deve obter a saída mostrada abaixo:

Para resolver o problema, você precisa definir a política de validação de senha para o nível mais baixo. Eu sei que isso parece contra-intuitivo, pois cria um caminho para definir senhas fracas que podem fazer com que seu banco de dados seja comprometido por hackers.

No entanto, se você ainda insistir em seguir seu caminho, aqui está o que você pode fazer.

Como alterar a política de validação de senha do MySQL


Para resolver o ERRO 1819 do MySQL (HY000) erro, defina uma política de validação de senha mais baixa, conforme mostrado.
mysql> SET GLOBAL validate_password_policy=LOW;
OR
mysql> SET GLOBAL validate_password_policy=0;

Depois disso, você pode confirmar o nível de política de validação de senha.
$ SHOW VARIABLES LIKE 'validate_password%';

Agora você pode prosseguir e atribuir uma senha relativamente fraca conforme seu desejo.
mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;

Para reverter para o 'MÉDIO ’ nível de política de senha, basta invocar o comando:
mysql> SET GLOBAL validate_password_policy=MEDIUM;
Conclusão

Pessoalmente, eu não recomendaria definir uma política de senha de nível inferior por motivos óbvios. Seja um usuário normal ou um usuário de banco de dados, é recomendável sempre definir uma senha forte do MySQL com mais de 8 caracteres com uma mistura de maiúsculas, minúsculas, numéricas e caracteres especiais.

Este guia é para quem deseja saber como navegar em tal erro, caso contrário, é sempre recomendável definir uma senha forte.