Se queres saber como alterar a palavra-passe do utilizador root no MySQL em sistemas operativos Linux, FreeBSD, OpenBSD e outros semelhantes a UNIX via sessão SSH, estás no lugar certo! Neste artigo, vamos mostrar-te como garantir que o teu MySQL fique seguro com métodos simples e eficazes.
A Importância de Alterar a Palavra-passe do Root no MySQL
Alterar a palavra-passe de root do MySQL é uma das tarefas cruciais para a segurança da tua base de dados. Lembra-te: a conta root do sistema operativo Linux ou UNIX e a conta root do MySQL são distintas, ou seja, não estão relacionadas de nenhuma forma. Muitas vezes, por questões de segurança, pode ser útil desativar a conta root do MySQL e configurar um utilizador administrador com permissões elevadas.
Método #1: Alterar a Palavra-passe com o Comando mysqladmin
Atenção! Quando alteras a palavra-passe de root ou qualquer outra conta MySQL, deves estar ciente de que qualquer aplicação ou script (como shell, Perl, Python, PHP) que utilize a conta root precisa ser atualizado com a nova palavra-passe. Caso contrário, poderás sofrer interrupções nos teus serviços. O autor deste artigo e o site nixCraft não se responsabilizam por eventuais problemas decorrentes de configurações erradas.
Se nunca configuraste uma palavra-passe para a conta root no MySQL, o servidor estará acessível sem nenhuma palavra-passe. Para configurar a palavra-passe pela primeira vez, utiliza o comando mysqladmin
da seguinte forma:
mysqladmin -u root password NOVAPALAVRAPASSE
Agora, se já tens uma palavra-passe configurada e queres alterá-la, usa o comando abaixo:
mysqladmin -u root -p'oldpassword' password novapalavrapasse
Também podes especificar o endereço do servidor com o comando a seguir:
mysqladmin -u root -h {IP_ou_Host} -p'oldpassword' password novapalavrapasse
Exemplo: Imagina que a tua palavra-passe antiga é “abc” e queres alterá-la para “123456”. O comando seria:
mysqladmin -u root -p'abc' password '123456'
Não te esqueças: escolhe sempre uma palavra-passe robusta e segura para proteger as transações no teu banco de dados MySQL.
Alteração Segura da Palavra-passe no MySQL
Para garantir que a tua palavra-passe não seja visível em comandos ou histórico do sistema, utiliza o seguinte comando:
mysqladmin -u root -p password
Atenção: O MySQL alerta que, ao enviar a palavra-passe em texto claro, ela pode estar exposta. Para garantir maior segurança, recomenda-se a utilização de uma ligação SSL.
Para isso, ao conectar-te a um servidor MySQL remoto, usa a opção --ssl-mode=REQUIRED
:
mysqladmin --ssl-mode=VERIFY_CA -h {ip_servidor} -u root -p password
A opção --ssl-mode=REQUIRED
força uma conexão criptografada com o servidor MySQL, e a opção --ssl-mode=VERIFY_CA
ainda verifica o certificado da Autoridade Certificadora (CA).
Verificar se a Alteração da Palavra-passe Funcionou
Depois de alterar a palavra-passe, verifica se está a funcionar corretamente executando o seguinte comando:
mysql -u root -p'123456' nome_da_base_de_dados
Ou:
mysql -u root -p'123456' -e 'show databases;'
Método #2: Alterar a Palavra-passe Utilizando o Comando mysql
Outra forma de alterar a palavra-passe do utilizador root no MySQL é acessando diretamente a base de dados e atualizando o registo da tabela de utilizadores.
Primeiro, entra no MySQL:
mysql -u root -p
Depois, seleciona a base de dados do MySQL e visualiza os privilégios dos utilizadores:
use mysql;
SHOW GRANTS FOR 'root'@'localhost';
Para alterar a palavra-passe de root, usa o seguinte comando:
Para versões antigas do MySQL:
update user set password=PASSWORD("NOVAPALAVRAPASSE") where User='root';
Para versões mais recentes do MySQL (versão 8.x):
ALTER USER 'root'@'%' IDENTIFIED BY 'NOVAPALAVRAPASSE';
Finalmente, recarrega os privilégios para aplicar as mudanças:
flush privileges;
quit;
Conclusão: Garantindo a Segurança do Teu MySQL
Alterar a palavra-passe da conta root do MySQL é uma etapa fundamental para manter a segurança do teu servidor de base de dados. Como recomendação, configura o ficheiro .my.cnf
para evitar teres de introduzir a palavra-passe sempre que acedes ao MySQL. Além disso, a utilização de uma ligação SSL criptografada é uma excelente prática para aumentar a proteção.
Lembra-te: sempre escolhe uma palavra-passe forte e mantém o teu sistema atualizado para evitar vulnerabilidades.
Dica Extra: Se queres uma forma ainda mais segura de armazenar as tuas credenciais, usa o comando mysql_config_editor
para criar um ficheiro .mylogin.cnf
que oculta a palavra-passe, melhorando a segurança das tuas ligações.
Agora que sabes como alterar a palavra-passe root no MySQL de forma segura, não há desculpas para não proteger o teu servidor de base de dados!