Definir a senha

posted in: Articles | 0

sintaxe

SET PASSWORD = { PASSWORD('some password') | OLD_PASSWORD('some password') | 'encrypted password' }

Descrição

o a declaração atribui uma senha a uma conta de utilizador MariaDB existente.

Se a senha for especificada usando a função PASSWORD() ou OLD_PASSWORD(), deve ser dado o texto literal da senha. Se a palavra-passe for especificada sem usar qualquer uma das funções, a senha deverá ser o valor já cifrado da senha, como retornado porPASSWORD().,

OLD_PASSWORD()só deve ser utilizado se os seus clientes MariaDB/MySQL forem muito antigos (< 4.0).

SemFOR cláusula, esta declaração define a senha para o currentuser. Qualquer cliente que tenha se conectado ao servidor usando uma conta não-anónima pode alterar a senha para essa conta.

com uma cláusula FOR, esta declaração define a senha para uma conta específica na máquina do servidor actual., Apenas os clientes que têm o privilégio UPDATEpara a base de dados mysql podem fazer isso. O valor para o utilizador deverá dado em user_name@host_name formato, onde user_name e host_name areexactly como eles são listados no Usuário e Host colunas demysql.user tabela de entrada.

the argument to PASSWORD() and the password given to MariaDB clients can be of arbitrary length.

suporte ao Plugin de autenticação

MariaDB a partir de 10.,4

No MariaDB 10.4 e posteriores, SET PASSWORD (com ou sem PASSWORD()) funciona para contas autenticado por meio de qualquer tipo de autenticação plugin que suporta palavras-passe armazenadas na mysql.global_priv tabela.

ed25519 mysql_native_password e mysql_old_password plugins de autenticação armazenar senhas no mysql.global_priv tabela.,

Se você executar o SET PASSWORD em uma conta que autentica com um desses plugins de autenticação que armazena senhas no mysql.global_priv, o PASSWORD() função é avaliada pelo plugin de autenticação específico utilizado pela conta. O plugin de autenticação quebra a senha com um método que é compatível com esse plugin específico de autenticação.,

unix_socket named_pipe gssapi e pam plugins de autenticação não armazene palavras-passe mysql.global_priv tabela. Estes plugins de autenticação dependem de outros métodos para autenticar o usuário.,

Se você tentar executar o SET PASSWORD em uma conta que autentica com um desses plugins de autenticação que não armazena uma palavra-passe mysql.global_priv tabela e, em seguida, o MariaDB Servidor irá gerar um aviso semelhante à seguinte:

SET PASSWORD is ignored for users authenticating via unix_socket plugin

Veja a Autenticação do MariaDB 10.4 para uma visão geral da autenticação alterações no MariaDB 10.4.

MariaDB até 10.3

em MariaDB 10.,3 e, antes, SET PASSWORD (com ou sem PASSWORD()) só funciona para contas autenticado por meio de mysql_native_password ou mysql_old_password plugins de autenticação

sem palavra-passe de Contas de Usuário

contas de Usuário nem sempre exigem palavras-passe de início de sessão.

unix_socket named_pipe e gssapi plugins de autenticação não requerem uma senha para autenticar o usuário.,

o ‘plugin’ de autenticação

pode ou não exigir uma senha para autenticar o utilizador, dependendo da configuração específica.

The mysql_native_passwordand mysql_old_password authentication plugins require passwords for authentication, but the password can be blank. Nesse caso, não é necessária nenhuma senha.

Se você fornecer uma senha ao tentar entrar no servidor como uma conta que não necessita de uma senha, então o servidor MariaDB irá simplesmente ignorar a senha.

MariaDB a partir de 10.,4

em MariaDB 10.4 e mais tarde, uma conta de usuário pode ser definida para usar vários plugins de autenticação em uma ordem de preferência específica. Este cenário específico pode ser mais perceptível nestas versões, uma vez que uma conta pode ser associada com alguns plugins de autenticação que requerem uma senha, e alguns que não.

Exemplo

Por exemplo, se você tinha uma entrada com o Usuário andHost valores da coluna ‘bob‘ e ‘%.organizador.,gov‘, teria de escrever thestatement como este:

SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass');

Se você deseja excluir uma senha para um usuário, você faria:

SET PASSWORD FOR 'bob'@localhost = PASSWORD("");

Veja Também:

  • Validação de Senha Plugins – permite a definição de critérios básicos para palavras-passe
  • ALTER USER

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *