Quando se trabalha com o MySQL DBMS, é extremamente importante saber como alterar a palavra-passe do utilizador. Parece que esta tarefa só pode ser resolvida se tiver direitos de superutilizador. Mas mesmo um utilizador comum pode alterar a palavra-passe em determinadas circunstâncias. Neste artigo, vamos dizer-lhe como o fazer em circunstâncias normais.
É possível alterar a palavra-passe de um utilizador de várias formas. No ambiente MySQL, existem dois comandos para esta tarefa - SET PASSWORD
e ALTER USER
. Vamos falar-lhe de cada um destes dois métodos em pormenor.
No início deste ano, o MySQL tem duas versões principais. A primeira está desactualizada mas ainda é suportada (é a versão 5.7), e a mais atual neste momento é a versão 8.0. Como descobrir a versão do MySQL? Pode fazê-lo com um comando especial, que deve ser executado no terminal:
$ mysql –version
Como pode ver na imagem acima, é utilizada a versão 8.0.28, mas é importante notar que o ALTER USER
é relevante apenas nas versões anteriores do MySQL.Nas versões mais recentes, pode utilizar ambas as versões.
Para entrar na consola, deve iniciar sessão no MySQL utilizando o seu login e palavra-passe. Quando um utilizador já está autorizado no servidor, deve executar todas as acções em seu nome. Quando o MySQL é utilizado pela primeira vez, deve utilizar os privilégios de root.
O comando para iniciar sessão como root:
$ mysql -u root –p
Depois disso, surgirá um pedido de palavra-passe. Resta introduzir a palavra-passe, premir a tecla Enter e, imediatamente a seguir, será carregada a interface do MySQL com todos os comandos disponíveis.
A particularidade do MySQL é que tem um anfitrião separado ao qual uma conta está ligada. Vamos observar os três hosts principais:
Localhost permite apenas o início de sessão local sem conetividade remota, % significa que a conta pode ser utilizada a partir de qualquer anfitrião, endereço IP/nome de domínio significa que a conta só pode ser utilizada no nome de domínio/endereço IP selecionado.
Para descobrir o tipo de anfitrião da conta, temos de executar a seguinte consulta SQL:
$ SELECT user, host FROM mysql.user
Na captura de ecrã acima, podemos ver que o utilizador alex tem um anfitrião de %. Este anfitrião deve ser utilizado ao alterar a palavra-passe. Os utilizadores em MySQL e todas as informações sobre os utilizadores são armazenados na base de dados mysql na tabela user.
Também pode alterar a palavra-passe com o comando SET PASSWORD
. Para alterar a palavra-passe do utilizador alex com o anfitrião % para somepassword666, é necessário utilizar o seguinte comando:
$ SET PASSWORD FOR 'alex'@'%' = 'somepassword666';
É possível alterar o código do utilizador utilizando outro comando - ALTER USER
. Para alterar a palavra-passe do utilizador alex com o anfitrião % para outra palavra-passe666, vamos executar uma consulta SQL:
$ ALTER USER 'alex'@'%' IDENTIFIED BY 'anotherpassword666';
Tenha em atenção que o nome de utilizador e o anfitrião estão entre aspas simples. Sem estas aspas, o MySQL não conseguirá reconhecer a cadeia de caracteres.
Agora, reponha a cache de privilégios:
$ FLUSH PRIVILEGES;
Depois de ter alterado a palavra-passe, alterado o privilégio e reposto a cache, deve efetuar uma verificação de início de sessão como o utilizador cuja palavra-passe foi alterada.
Saia do
shell do MySQL executando o comando exit
:
$ exit
Agora faça o login no shell:
$ mysql -u alex -p
Se vir a mensagem do sistema ao iniciar sessão, fez tudo corretamente, o que significa que a palavra-passe foi alterada com êxito.
Apply the discount by inserting the promo code in the special field at checkout:
Apply the discount by inserting the promo code in the special field at checkout: