Formas de pagamento Abuse

Alterar a palavra-passe do utilizador no MySQL

10.10.2022, 21:52

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.

Alterar a palavra-passe de um utilizador no SGBD MySQL

É 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.

Vamos descobrir a versão do MySQL

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

Узнаем версию MySQL

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.

Como entrar na consola

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.

Visualizar anfitriões

A particularidade do MySQL é que tem um anfitrião separado ao qual uma conta está ligada. Vamos observar os três hosts principais:

  • Localhost;
  • %;
  • Endereço IP/nome de domínio.

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.

Alterar a palavra-passe utilizando SET PASSWORD

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';

Меняем пароль с помощью SET PASSWORD

Alterar a palavra-passe utilizando ALTER USER

É 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';

Меняем пароль с помощью ALTER USER

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;

Como verificar a nova palavra-passe

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.