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 UPDATE
para 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_password
and 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