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

Como redefinir a senha de root do MySQL


MySQL é um dos sistemas de gerenciamento de banco de dados mais populares para aplicações web. O MySQL tem uma senha de root ou uma senha de nível de administrador, assim como muitos serviços da web. As senhas de root permitem que os usuários executem qualquer função de nível superior em um banco de dados.

Ao configurar o MySQL, é recomendado que você configure uma senha de root para seu banco de dados para questões relacionadas à segurança. No entanto, isso não significa que você não possa usar o MySQL sem uma senha de root. Cabe a você pensar sobre a tarefa em mãos e decidir se deseja configurar uma senha de root ou não.

Redefinindo a senha raiz do MySQL


Há muitas perguntas feitas por usuários do MySQL sobre “Como redefinir a senha de root do MySQL”. Se você configurou uma senha de root, mas infelizmente a perdeu, este tutorial de artigo o guiará pelo processo de redefinição da senha de root no Linux e no Windows.

Pré-requisitos

  • Banco de dados MySQL existente
  • Privilégios de administrador no PC que hospeda o banco de dados MySQL
  • Acesso ao servidor Windows ou Linux executando MySQL
  • Interface de linha de comando ou acesso ao terminal
  • Um editor de texto. (Não se preocupe, pois os usuários do Windows têm o Bloco de Notas instalado por padrão em seus computadores, enquanto os usuários do Linux têm o vim pré-instalado).

Depois de ter todos os pré-requisitos mencionados, vamos continuar e aprender como redefinir ou alterar a senha de root do MySQL.

Faremos esse processo em duas frentes:
  1. Como redefinir a senha de root do MySQL no Linux
  2. Como redefinir a senha de root do MySQL no Windows

1. Como redefinir a senha de root do MySQL no Linux

Etapa 1:faça login no MySQL


Ao inicializar em seu sistema operacional Linux, é essencial fazer login com o mesmo usuário que normalmente executa o MySQL. Isso é crucial para evitar erros como a criação de arquivos de propriedade do usuário root, que podem causar danos ao seu sistema. No entanto, você também pode fazer login como usuário root assim que iniciar seu servidor MySQL. Para fazer isso, certifique-se de iniciar o MySQL usando a sintaxe abaixo.
user=fosslinux

Etapa 2:encontrar o arquivo .pid usado pelo serviço MySQL


A próxima etapa é localizar o arquivo .pid. Na maioria dos sistemas Linux, eles são armazenados neste local:
/var/lib/mysql or /var/run/mysqld/ or /usr/local/mysql/data/. 

Como nem todos os sistemas Linux são iguais, você pode experimentar qualquer um dos caminhos mencionados acima e ver se consegue localizar o arquivo. Para encontrar o arquivo rapidamente, você pode restringir sua pesquisa a arquivos começando com mysqld (ou seu nome de host) e terminando com .pid.

Observação: Pesquisar o arquivo simplificará o processo; portanto, recomendamos que você experimente.

Depois de encontrar o arquivo, prossiga para a próxima etapa

Etapa 3:Eliminando o processo mysqld/.pid


Antes de redefinir ou criar uma nova senha de root, primeiro temos que parar o servidor MySQL. Isso pode ser feito abrindo o terminal e executando a linha de comando abaixo:
kill `cat /mysql-data-directory/host_name.pid`

Observação: Substitua o mysql-data-directory/host_name.pid com o nome do arquivo que encontramos na etapa 2. Além disso, é vital especificar todo o caminho do arquivo para evitar erros.

Dica adicional: Certifique-se sempre de usar a tecla de acento grave em vez de uma tecla de aspas simples. A tecla back-tick está localizada acima da tecla tab na maioria dos computadores e antes da tecla numérica.

Etapa 4:Criando um novo arquivo de senha root


Agora é hora de abrir seu editor de texto favorito. Para o nosso caso, usaremos o editor de texto Vim. Abra o terminal usando o atalho CTRL + ALT + T e execute o comando abaixo:
sudo vim mysql-init

Nota:se você receber um erro após executar o comando acima, execute este comando para prosseguir com os outros processos:
sudo apt install vim

Agora adicione a linha abaixo no arquivo:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

Observação: Ao digitar manualmente a linha acima no terminal, lembre-se de incluir todos os pontos e vírgulas e aspas simples. Além disso, substitua o “NewPassword ” com a nova senha que você deseja usar. Finalmente, certifique-se de usar uma senha forte e segura ou consulte aqui para saber como gerar uma senha forte e aleatória no Linux.

O comando acima funcionará apenas na máquina host que você está usando ao executar o comando. No entanto, se você planeja se conectar a um sistema diferente, é recomendável substituir o localhost pelo nome do host relevante ou apropriado para que o comando funcione. Se você não fizer isso, você encontrará erros.

Depois de adicionar o novo arquivo ao seu editor de texto, salve-o em:
 home/mysql-init.

Etapa 5:Reiniciando o servidor MySQL e aplicando a senha recém-criada


É hora de aplicar as alterações que fizemos em nossa senha recém-criada. Primeiro, vamos reiniciar o servidor MySQL executando o comando abaixo no terminal:
mysqld --init-file=/home/mysql-init &

Este comando iniciará o MySQL e aplicará a senha do arquivo de texto que criamos na etapa anterior. Dependendo do método usado para iniciar o servidor, pode ser necessário incluir outras opções, como –defaults-file antes do comando init.

Depois de aplicar a senha recém-criada e reiniciar o servidor MySQL, é hora de limpar. Faremos isso entrando em seu servidor MySQL como usuário root e verificando se a senha que criamos realmente funciona. Depois de confirmar que o arquivo funciona bem, prossiga e exclua o arquivo que criamos na etapa 4 acima.

2. Como redefinir a senha de root do MySQL no Windows


Se você é um usuário do Windows e gostaria de aprender como redefinir sua senha de root do MySQL no Windows, leia este artigo até o final.

Etapa 1:Parando o servidor MySQL.


Antes de parar o servidor MySQL, você deve verificar se está logado como administrador.
  • Pressione as teclas Win + R nas janelas para iniciar a caixa de diálogo Executar do tipo:
services.msc
  • Em seguida, clique em OK.
  • Percorra a lista de serviços e localize o serviço MySQL. Clique com o botão direito do mouse e selecione a opção Parar conforme mostrado na imagem abaixo:

Etapa 2:abra seu editor de texto favorito


Para fins de ilustração, usaremos o editor de texto padrão do Bloco de Notas. No entanto, não surte se você tiver um editor de texto diferente, pois os processos são semelhantes.
  • Agora clique no menu Iniciar e procure por Bloco de Notas. Clique nele para iniciar.

Como alternativa, use este caminho para encontrar o Bloco de Notas:menu>Acessórios do Windows>Bloco de Notas.

Etapa 3:criando um novo arquivo de texto de senha usando o comando de senha


Copie e cole a sintaxe abaixo no editor de texto para evitar erros ao digitar manualmente:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

Como fizemos para o Linux, certifique-se de manter o ponto e vírgula e as aspas simples e substitua a NewPassword frase com a nova senha que você pretende usar em seu MySQL.

Clique na opção Arquivo e, em seguida, Salvar como para salvar a senha do arquivo de texto na raiz do disco rígido. Salve o arquivo como mysql-init.txt.

Conseqüentemente, o comando localhost só pode fazer alterações de senha em seu sistema. Portanto, se você pretende alterar a senha em um sistema diferente, como na rede, substitua o host local pelo nome de host apropriado para o sistema diferente.

Etapa 4:inicie o CMD (prompt de comando)

  • Clique nas teclas Ctrl + Shift + Esc no teclado
  • Selecione o menu Arquivo e execute uma nova tarefa
  • Digite cmd.exe e marque a caixa de seleção Executar como administrador
  • Clique em OK para iniciar um prompt de comando com privilégios de administrador.

Etapa 5:Reiniciando o MySQL Server e aplicando o novo arquivo de configuração

  • Usando o prompt de comando, navegue até o diretório MySQL:
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
  • Em seguida, insira o seguinte comando:
mysqld --init-file=C:\\mysql-init.txt

Observação: Você deve levar em consideração que existem duas barras invertidas antes do mysql-init incitar. Além disso, se você usou um nome diferente daquele que usamos para ilustração na etapa 2 acima, você deve usar esse nome imediatamente após as duas barras invertidas sem espaçamento.

Quando isso estiver concluído, você poderá fazer login no MySQL como usuário root usando a senha recém-criada.

Certifique-se de verificar novamente se a nova senha funciona perfeitamente. Após a confirmação, prossiga e elimine o arquivo mysql-init.txt que armazenamos em nosso diretório C:\.

Instruções genéricas para redefinir a senha de root do MySQL


As seções anteriores forneceram instruções detalhadas sobre como redefinir as senhas de root do MySQL para Linux e Windows. Alternativamente, ao usar qualquer plataforma, você pode usar o cliente MySQL para redefinir a senha. No entanto, é vital observar que esse método é menos seguro em comparação com os métodos anteriores.

Para usar o cliente MySQL, siga as etapas destacadas abaixo:

1. O primeiro passo é parar o servidor MySQL. Após parar, reinicie-o com a opção abaixo:
--skip-grant-tables

Esta opção permitirá que qualquer pessoa se conecte sem uma senha, mas com todos os privilégios, e desabilita as instruções de gerenciamento de contas, como ALTER USER e DEFINIR SENHA.

Esta opção é considerada insegura, pois se o servidor iniciar com –skip-grant-tables opção, ignorar rede é habilitado desabilitando conexões remotas.

2. Agora conecte-se ao servidor MySQL executando o comando abaixo:
mysql

Observação: nenhuma senha é necessária ao reiniciar o servidor MySQL usando o cliente MySQL desde que o servidor foi iniciado com o –skip-grant-tables .

3. Agora, no cliente MySQL, execute o comando abaixo para informar ao servidor para recarregar as tabelas de concessão. Isso permitirá que os extratos de gerenciamento de contas que foram interrompidos anteriormente funcionem novamente:
mysql> FLUSH PRIVILEGES;

Após executar o comando, execute o comando ALTER USER para alterar a senha. Substitua o MyNewPass , com a nova senha que você pretende usar.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Observação: Para alterar a senha do root para um sistema diferente, certifique-se de alterar o localhost com o nome do host do sistema.

Agora você pode se conectar ao seu servidor MySQL como usuário root usando a senha que criamos. Em seguida, pare e reinicie o servidor normalmente sem as –skip-grant-tables opções e sem habilitar a variável skip-networking.

Isso é tudo que você redefiniu com sucesso sua senha de root do MySQL.

Conclusão


Se você já havia atribuído uma senha de root ao MySQL, mas a esqueceu, você pode redefini-la atribuindo uma nova senha ao seu MySQL, conforme mostrado neste artigo.

Observação: O MySQL não requer uma senha de root para se conectar. No entanto, a desvantagem de não atribuir uma senha de root ao seu MySQL é que ela é insegura e você pode perder seus objetos de valor. Portanto, se você nunca definiu uma senha de root para o seu MySQL, é altamente recomendável que você siga os passos mencionados acima para criar uma e proteger seus dados e informações.