Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como configurar e fazer login como usuário root no MySQL


Uma conta root é uma conta de superusuário que oferece uma ampla gama de privilégios em todos os bancos de dados do MySQL. Por padrão, a senha inicial para a conta root é ‘vazio/em branco’, permitindo assim o acesso ao servidor MySQL como root para qualquer pessoa.

Observação: Senha vazia/em branco significa que não há senha; portanto, qualquer um pode efetuar login desde que os privilégios do MySQL tenham sido concedidos.

Para fazer login como usuário root no Linux:

  1. Selecione o menu Iniciar> Sair no canto superior direito. Isso permite que você saia da conta de usuário que está usando no momento.
  2. Você verá uma janela de login, e aqui é onde você faz login usando o nome de usuário “root” e a senha que você configurou para o usuário root. Se houver vários usuários na janela de login, selecione outros e faça login.

Se a senha não estiver configurada ou você esqueceu ou precisa alterar sua senha do MySQL, abaixo está um guia sobre como configurar/recuperar a senha.

Como configurar, alterar e recuperar uma senha de root do MySQL


Existe uma grande possibilidade de você já ter o MySQL rodando em outro lugar em seu banco de dados. Nesse caso, pode chegar um momento em que você precise alterar ou configurar a senha do usuário root. Isso pode ser resultado de esquecer a senha do root ou simplesmente querer fortalecer sua senha.

Esse processo é tratado pela linha de comando e funciona com instalações MySQL ou MariaDB. E bem, contanto que você tenha acesso de administrador, usando as sintaxes sudo ou su, a distribuição Linux que você está usando não importa, pois o processo é semelhante.

Observe:tem havido muitos ataques em todo o cenário de TI, exigindo senhas muito fortes, o que eu recomendo para seus bancos de dados. Você pode experimentar um gerador de senha não sistemático e salvar a senha com a ajuda de um gerenciador de senhas.

Vamos continuar.

Definindo a senha pela primeira vez


Normalmente, durante a instalação do MySQL, você deve definir uma senha inicial. No entanto, se isso não foi feito durante a instalação e configuração do MySQL, primeiro você terá que configurar uma senha. Aqui está como fazer isso:
  1. Primeiro, abra uma janela de terminal.
  2. Depois de iniciar o terminal, cole e execute este comando:
mysqladmin -u root password Fosslinux

Onde Fosslinux é a senha que você usará a partir de agora, isso significa que toda vez que você logar no MySQL usando o comando mysql -u root -p , você terá que digitar a senha que acabamos de configurar.

Observação: Se você encontrar o seguinte erro:Acesso negado para o usuário 'root'@'localhost,' role para baixo para encontrar a solução fornecida neste artigo.

Como alternativa, você pode usar o método a seguir para configurar a senha de root pela primeira vez. Use o comando abaixo:
mysql_secure_installation

Este comando definirá a senha do usuário root e permitirá que você se livre de usuários anônimos e do banco de dados de teste. Além disso, ele também não permitirá o login root remoto. Isso, por sua vez, garante ainda mais segurança concreta ao seu banco de dados MySQL.

Depois de configurar a senha de root do MySQL pela primeira vez, é hora de aprender como alterá-la.

Alterando a senha do usuário root do MySQL


Para alterar a senha de root do MySQL, siga os passos mencionados aqui:
  • Primeiro, crie um novo arquivo usando o comando abaixo:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Fosslinux$11';

Onde Fosslinux$11 é a nova senha que será usada. Lembre-se de satisfazer a política de senha atual combinando caracteres maiúsculos, minúsculos, numéricos e especiais.

Salve o arquivo como ~/mysql-pwd
  • Em seguida, pare o daemon MySQL usando o seguinte comando:
sudo systemctl stop mysql
  • Agora que o daemon está parado, emita e execute o seguinte comando em seu terminal:
sudo mysqld -init-file=~/mysql-pwd
  • Assim que o prompt de comando concluir a execução do comando acima, prossiga e reinicie o daemon MySQL usando o seguinte comando:
sudo systemctl start mysql
  • Neste ponto, você poderá fazer login no prompt de comando do MySQL usando a senha de administrador recém-definida executando o comando abaixo:
mysql -u root -p

Quando um prompt aparecer, digite a senha de administrador que você criou e você estará pronto para ir.

Agora que aprendemos frutiferamente como alterar a senha de root do MySQL recém-criada, é hora de aprender como recuperar uma senha de root do MySQL esquecida ou perdida.

Recupere sua senha do MySQL


Bem, digamos que você esqueceu sua senha de usuário root do MySQL e precisa desesperadamente recuperá-la. Tudo que você precisa fazer é seguir os passos mencionados aqui:

1. Pare o processo do servidor MySQL usando o comando:
sudo service mysql stop

2. Inicie o servidor MySQL usando o seguinte comando:
sudo mysqld_safe --skip-grant-tables --skip-networking &

3. Conecte-se ao servidor MySQL como usuário root usando o comando:
mysql -u root

Você será solicitado a emitir os seguintes comandos do MySQL para redefinir a senha de root após concluir as etapas mencionadas acima:
mysql> use mysql;

mysql> update user set authentication_string=password('NEWPASSWORD') where user='root';

mysql> flush privileges;

mysql> quit

Observação:não esqueça que NEWPASSWORD refere-se à nova senha que você usará para fazer login como usuário root.

Quando terminar de executar todos os comandos mencionados acima, prossiga e reinicie o daemon MySQL usando este comando:
sudo service mysql restart

Até agora, você deve ser capaz de fazer login no MySQL usando a senha recém-definida.

Isso é tudo. Acreditamos que agora você está em condições de definir, redefinir e recuperar sua senha de root do MySQL.

Um ponto importante a ser observado: Lembre-se de definir uma senha muito forte para o usuário root do MySQL. Uma senha difícil de decifrar. Isso aumentará a segurança de seus bancos de dados. Como você já sabe, os bancos de dados armazenam dados muito confidenciais, então a última coisa que você deseja é que alguém acesse suas informações sem o seu consentimento. O uso de uma senha longa e que não possa ser facilmente memorizada e adivinhada é altamente recomendável. Se você usar um gerador de senhas para criar sua senha, lembre-se de armazená-la em um cofre de senhas.

Ao usar o MySQL, você pode ficar tão envergonhado se encontrar mensagens de erro. Por exemplo, a maioria dos usuários reclama de enfrentar esta mensagem de erro:Acesso negado para usuário root@localhost. Isso pode não ser muito agradável, mas temos uma solução para você.

Como resolver o erro do MySQL:acesso negado para o usuário root@localhost


Esta mensagem de erro geralmente aparece para novas instalações do MySQL quando você tenta se conectar ao MySQL com o usuário root.

Aqui está como resolver rapidamente o acesso negado para o usuário root no localhost. As etapas descritas podem ser usadas para MySQL e MariaDB. Você não precisa fazer modificações em nenhuma tabela ou realizar configurações complexas.

Como já vimos neste artigo, quando você instala o MySQL e deseja ter acesso a ele na máquina local com o usuário root, você utiliza o seguinte comando:
mysql -u root -p

Na maioria dos casos, você receberá a mensagem de erro que acabamos de mencionar:“Acesso negado para usuário root@localhost.”

Para você fazer login no MySQL como root, primeiro use sudo para fazer modificações no usuário root:
sudo mysql

Em seguida, insira sua senha no prompt. Um shell MySQL será carregado.

Use o comando ALTER USER e altere o método de autenticação para logar no MySQL como root:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'insert_password';

Exemplo:

Por causa do tutorial, vou alterar a senha para ‘Fosslinux conforme mostrado na linha de comando e saída abaixo:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Fosslinux';

Saída

O que a linha de comando acima faz é alterar a senha do usuário root e definir o método de autenticação para mysql_native_password . Este é um modo tradicional de autenticação. Infelizmente, na maioria dos casos, o erro acima ocorre porque o modo de autenticação usado é auth_plugin que não é seguro, daí o erro.

Observação: Ao digitar a senha desejada, certifique-se de que ela siga as regras fornecidas pela senha, uma combinação de letras maiúsculas e minúsculas mais números, se você pretende inserir uma senha mais forte.

Após executar os comandos listados acima, saia do shell do MySQL clicando em CTRL + D no teclado ou digite “exit” no shell do MySQL e clique em enter. Você não precisa reiniciar o serviço MySQL para fazer login usando o comando abaixo:
sudo service mysql restart 

Neste ponto, você pode tentar acessar o MySQL com root novamente. No terminal, digite:
mysql -u root -p

Insira a senha que você usou com o comando ALTER USER e não insira a senha do sistema para tentar acessar o MySQL porque não funcionará. Agora você deve ver a mensagem de boas-vindas do MySQL se tudo correu bem.

Observe:O comando ALTER USER pode não funcionar para as versões do MySQL e MariaDB anteriores a 5.7.6 e 10.1.20, respectivamente.

Em resumo, agora você está em condições de ignorar o MySQL ERROR 1698 (28000):Acesso negado para o usuário ‘root’@’localhost’. Existem várias maneiras de contornar esse erro, mas usamos o método muito mais simples e rápido. Certifique-se de inserir os comandos conforme listado neste artigo para evitar erros na sintaxe SQL. É mais aconselhável copiá-los e colá-los.

Conclusão


Este artigo explica e detalha todos os assuntos relacionados ao login do usuário root no MySQL. Ele não apenas mostra como fazer login como usuário root no MySQL, mas também mostra como garantir que você faça isso sem encontrar nenhum erro e como ignorar o erro mais comum caso ocorra.

O artigo detalha ainda mais as etapas para configurar, alterar e recuperar uma senha de root do MySQL e configurar a senha de root pela primeira vez. Certifique-se de seguir todos os processos fornecidos neste artigo para evitar violações de segurança usando combinações de senhas fortes. Esperamos que o artigo seja útil. Se sim, dê um polegar para cima através da seção de comentários.