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

Como redefinir a senha dos usuários root do MySQL


O ServerPilot configura o MySQL para gerenciar bancos de dados em seu servidor. Normalmente, quando conectado ao SSH como raiz user, você só precisa digitar o seguinte no prompt da linha de comando (SSH) para acessar o MySQL:
mysql

Este comando irá referenciar automaticamente o arquivo que contém o MySQL root a senha do MySQL do usuário para que você não precise digitá-la. A senha de root do MySQL está contida neste arquivo:
/root/.my.cnf

Se você precisar alterar essa senha por qualquer motivo, algumas etapas precisam ser seguidas. Observe que existem dois processos diferentes aqui:Um para uma situação em que a senha raiz do MySQL está funcionando no momento e outro para uma senha raiz do MySQL que não está funcionando.

Nota:O log de erros do MySQL é um bom lugar para encontrar problemas com o MySQL e está localizado aqui:
/var/log/mysql/error.log
Aviso! Recomendamos tirar um instantâneo do servidor antes de executar tarefas como essas.

Alterando uma senha de raiz do MySQL em funcionamento


Esta seção cobre a alteração de uma senha de root do MySQL que está funcionando, o que significa que você pode fazer login no MySQL como root usuário simplesmente digitando mysql no prompt SSH. Não haverá tempo de inatividade para este processo se essas etapas forem seguidas.

Faça login no SSH como raiz user e faça login no MySQL digitando:
mysql

No prompt do MySQL, digite o seguinte, mas substitua put-your-new-password-here com a senha real que você deseja usar. Você precisa deixar aspas simples ao redor da nova senha. Anote a senha, pois você precisará colocá-la em um arquivo na próxima etapa.
SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');

Saia do MySQL digitando:
quit

Em seguida, você precisará atualizar o arquivo que contém o MySQL root senha do usuário para que você possa SSH em seu servidor como root e execute o mysql comando sem digitar uma senha.
sudo nano /root/.my.cnf
Para obter informações adicionais sobre como usar o nano editor de texto, consulte nosso guia.
Atualize o campo de senha para a nova senha inserida acima, salve e saia do editor de texto.

Por fim, teste para garantir que a nova senha funcione:
mysql

Tudo pronto!

Alterando uma senha raiz do MySQL perdida ou inoperante


Esta seção cobre a recuperação do acesso root ao MySQL ao receber este erro:
ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)
Aviso! Este processo deixará o MySQL offline por um curto período de tempo; é melhor fazer isso fora do horário de pico, quando seus usuários serão menos afetados.
Faça login no seu servidor via SSH como raiz user e pare o MySQL digitando:
sudo service mysql stop

Em seguida, execute o seguinte comando:
sudo test ! -e /var/run/mysqld && sudo mkdir -p /var/run/mysqld && sudo chown mysql:mysql /var/run/mysqld

Ele não retornará nenhuma saída. Inicie o MySQL em um modo especial digitando isto:
sudo mysqld --skip-grant-tables --skip-networking &

Sua saída deve ser semelhante à abaixo, embora o número exibido seja diferente:
sudo mysqld --skip-grant-tables --skip-networking &
[1] 14744

Você retornará ao prompt SSH padrão. Agora, digite o seguinte para fazer login no MySQL:
mysql

Você não será solicitado a fornecer uma senha, e deve ser algo assim:
~# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.25-0ubuntu0.16.04.2-log (Ubuntu)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
Owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

Emita o seguinte comando que permitirá que você altere a senha:
FLUSH PRIVILEGES;

Que rende:
Query OK, 0 rows affected (0.00 sec)

Em seguida, redefinimos a senha real alterando coloque sua nova senha aqui à sua senha real. Anote a senha que você definiu, pois precisaremos inseri-la no /root/.my.cnf quando terminarmos, e também mantenha as aspas simples em torno da nova senha.
SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');

Você deve receber uma notificação como:
Query OK, 0 rows affected, 1 warning (0.00 sec)

Saia do MySQL digitando:
quit

A seguir, digite o seguinte comando:
sudo killall mysqld

Nenhuma saída será devolvida. Agora, iniciamos o MySQL normalmente:
sudo service mysql start

Por último, se você alterou a senha do que estava em /root/.my.cnf , você precisará atualizar esse arquivo. Se você usou o mesmo valor, não precisa executar esta etapa:
sudo nano /root/.my.cnf

Atualize o campo de senha lá, salve e saia do editor de texto.

Agora você deve ser capaz de logar com sucesso no MySQL como root usuário digitando o seguinte comando:
mysql