MySQL : MySQL 8.0 Manual de Referência :: 13.7.1.10 DEFINIR palavra-PASSE de Instrução

13.7.1.10 DEFINIR palavra-PASSE de Instrução

SET PASSWORD instrução atribui uma senha para uma conta de usuário MySQL. A senha pode ser explicitamente especificada na declaração ou gerada aleatoriamente pelo MySQL. A Declaração também pode incluir uma cláusula de verificação de senha que especifica a senha atual da conta a ser substituída, e uma cláusula que gerencia se uma Conta tem uma senha secundária., 'auth_string' and 'current_auth_string' each represent a cleartext (unencrypted) password.

Nota

em Vez de usar SET PASSWORD para atribuir palavras-passe, ALTER USER é o preferido instrução por conta de alterações, incluindo a atribuição de senhas., Por exemplo:

ALTER USER user IDENTIFIED BY 'auth_string';

Nota

Cláusulas aleatórias de geração de senha, confirmação da senha e secundário senhas aplicam-se apenas para contas que usar um plugin de autenticação que armazena as credenciais internamente para o MySQL. Para contas que usam um plugin que executa autenticação contra um sistema de credenciais que é externo ao MySQL, a gestão de senha deve ser tratada externamente contra esse sistema também. Para mais informações sobre armazenamento interno de credenciais, ver secção 6.2.15, “Gestão de senhas”.,

TheREPLACE 'current_auth_string' clause performs password verification and is available as of MySQL 8.0.13. Se indicado:

  • REPLACE especifica a senha actual da conta a substituir, como texto de cleartexto (não cifrado).

  • a cláusula deve ser dada se forem necessárias alterações de senha para a conta para especificar a senha actual, como verificação de que o utilizador que tenta fazer a alteração conhece realmente a senha actual.,

  • a cláusula é opcional se a senha mudar para a conta pode, mas não precisa, especificar a senha actual.

  • a declaração falha se a cláusula for dada mas não corresponder à senha atual, mesmo que a cláusula seja opcional.

  • REPLACE só pode ser especificado ao alterar a senha da conta para o utilizador actual.

Para mais informações sobre a verificação da senha, especificando a senha actual, ver secção 6.2.15, “Gestão da senha”.,

a cláusulaRETAIN CURRENT PASSWORD implementa a capacidade de dupla senha e está disponível a partir do MySQL 8.0.14. Se indicado:

  • RETAIN CURRENT PASSWORD mantém uma senha corrente da conta como sua senha secundária, substituindo qualquer senha secundária existente. A nova senha se torna a senha primária, mas os clientes podem usar a conta para se conectar ao servidor usando a senha primária ou secundária., (Exception: If the new password specified by the SET PASSWORD statement is empty, the secondary password becomes empty as well, even if RETAIN CURRENT PASSWORD is Giv.)

  • se especificar RETAIN CURRENT PASSWORD para uma conta que tenha uma senha primária vazia, a declaração falha.

  • Se uma conta tiver uma senha secundária e você alterar a sua senha primária sem especificar RETAIN CURRENT PASSWORD, a senha secundária permanece inalterada.

Para mais informações sobre a utilização de senhas duplas, ver secção 6.2.,15, “Password Management”.

SET PASSWORD permite que estas auth_option sintaxe:

  • = 'auth_string'

    Atribui a conta o dado literal de palavra-passe.

  • TO RANDOM

    atribui à conta uma senha gerada aleatoriamente pelo MySQL. A Declaração também retorna a senha de cleartext em um conjunto de resultados para torná-lo disponível para o usuário ou aplicação que executa a declaração.,

    para mais detalhes sobre o conjunto de resultados e as características das senhas geradas aleatoriamente, consulte a geração aleatória de senhas.

    a geração de senha Aleatória está disponível a partir de MySQL 8.0.18.

Importante

Em algumas circunstâncias, SET PASSWORD pode ser gravado em logs do servidor ou no lado do cliente em um arquivo de histórico como ~/.mysql_history o que significa que o texto não criptografado senhas pode ser lido por qualquer pessoa que tenha acesso de leitura para a informação., Para informações sobre as condições em que isso ocorre para os logs do servidor e como controlá-lo, veja a seção 6.1.2.3, “senhas e Logging”. Para informações semelhantes sobre o registo do lado do cliente, ver secção 4.5.1.3,”registo do cliente mysql”.,p> SET PASSWORD pode ser usado com ou sem um FOR cláusula que explicitamente os nomes de uma conta de utilizador:

  • Com um FOR user cláusula, a instrução define a senha para o nome de conta, que devem existir:

    SET PASSWORD FOR 'jeffrey'@'localhost' = 'auth_string';
  • sem FOR user cláusula, a instrução define a senha para o usuário atual:

    SET PASSWORD = 'auth_string';

    Qualquer cliente que se conecta ao servidor usando uma não anônimos da conta, pode alterar a palavra-passe para essa conta., (Em particular, você pode alterar sua própria senha. Para ver a conta em que o servidor é autenticado como, invocar o CURRENT_USER() função:

    SELECT CURRENT_USER();

Se FOR user cláusula for fornecido, o nome da conta, utiliza o formato descrito na Seção 6.2.4, “Especificando os Nomes de Conta”. Por exemplo:

SET PASSWORD FOR 'bob'@'%.example.org' = 'auth_string';

a parte do nome da máquina do nome da conta, se omitida, é por omissão '%'.,

SET PASSWORDinterpreta a cadeia de caracteres como uma cadeia de texto, passa-a para o plugin de autenticação associado à conta, e guarda o resultado devolvido pelo plugin na linha de conta nomysql.user tabela de Sistema. (O plugin tem a oportunidade de ajustar o valor no formato de encriptação que espera. O plugin pode utilizar o valor especificado, caso em que não ocorre nenhuma amarração.,)

definir a senha para uma conta nomeada (com uma cláusula FOR) requer o UPDATE privilégio para o mysql system schema. A configuração da senha para si próprio (para uma conta não-homónima com no FOR cláusula) não requer privilégios especiais.,

Instruções que modificar secundário senhas exigir esses privilégios:

  • APPLICATION_PASSWORD_ADMIN privilégio é necessário para usar o RETAIN CURRENT PASSWORD cláusula de SET PASSWORD instruções que se aplicam à sua própria conta. O privilégio é necessário para manipular sua própria senha secundária, porque a maioria dos usuários exigem apenas uma senha.,

  • Se uma conta for autorizada a manipular senhas secundárias para todas as contas, deve ser-lhe concedido o privilégio

    em vez de APPLICATION_PASSWORD_ADMIN.

o read_only variável de sistema é ativado, SET PASSWORD requer o CONNECTION_ADMIN privilégio (ou o obsoleto SUPER privilégio), além de outros privilégios.

para mais informações sobre a definição de senhas e plugins de autenticação, ver secção 6.2.,14, “Assigning Account Passwords”, and Section 6.2.17,”Pluggable Authentication”.

Share

Deixe uma resposta

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