Qual é a maneira mais fácil de redefinir a senha de root do mysql?

6

No passado, houve sudo /etc/init.d/mysql reset-password , (1) está reiniciando manualmente e definindo a senha com um comando sql novamente necessário? (2)

(1) link (2) link

    
por WhiteZebra 23.12.2011 / 05:06

6 respostas

5

Há também um usuário administrativo equivalente ao root: debian-sys-maint. Você pode usar essa conta para redefinir a senha do root. Você pode encontrar sua senha em /etc/mysql/debian.cnf

    
por tumbleweed 23.12.2011 / 07:18
4

Você pode criar um arquivo sql, digamos /root/mysql.reset.sql com o conteúdo:

UPDATE mysql.user SET Password=PASSWORD('yourpassword') WHERE User='root';
FLUSH PRIVILEGES;

E é só ligar:

mysqld_safe --init-file=/root/mysql.reset.sql

Será muito útil se você tiver o hábito de esquecer as senhas com frequência.

    
por tamilsweet 23.12.2011 / 07:29
1
sudo dpkg-reconfigure mysql-server-5.5

você pode usar a aba completa depois de mysql-server- se estiver usando uma versão diferente do mysql.

    
por Colin Pickard 10.06.2012 / 18:54
1

A resposta de Tumbleweed foi a única que me ajudou. Eu estava lidando com o que poderia ter sido um usuário root corrompido e nenhum dos métodos padrão resolveu o problema de não conseguir fazer login como root.

Usando o usuário debian-sys-maint, eu finalmente consegui logar no MySQL com privilégios escalados e mesmo assim a redefinição da senha root não funcionou.

No entanto, consegui recriar o usuário root:

DROP USER 'root'@'localhost';
CREATE USER 'root'@'localhost' IDENTIFIED BY '<newpassword>';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

... e finalmente tudo estava certo com o mundo novamente!

Espero que ajude uma alma desesperada por aí ...

    
por gopherIT 09.02.2017 / 11:21
0
  1. Pare o servidor MySQL.

    sudo /etc/init.d/mysql stop
    
  2. Inicie a configuração do mysqld.

    sudo mysqld --skip-grant-tables &
    
  3. Faça o login no MySQL como root.

    mysql -u root mysql
    
  4. Substitua YOURNEWPASSWORD pela sua nova senha!

    UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root'; FLUSH PRIVILEGES; exit;
    
por Chetan Rathod 09.02.2017 / 11:45
0
  1. sudo /etc/init.d/mysql stop
  2. sudo mkdir /var/run/mysqld/
  3. sudo chown mysql /var/run/mysqld/
  4. sudo mysqld_safe --skip-grant-tables &
  5. sudo mysql -u root
  6. use mysql;
  7. update user set authentication_string=PASSWORD("New_Passwore_Here") where User='root';
  8. flush privileges;
  9. exit;
  10. sudo /etc/init.d/mysql stop
  11. sudo /etc/init.d/mysql start
por samson mwanzia 14.05.2018 / 13:47