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
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
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
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.
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.
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í ...
Pare o servidor MySQL.
sudo /etc/init.d/mysql stop
Inicie a configuração do mysqld.
sudo mysqld --skip-grant-tables &
Faça o login no MySQL como root.
mysql -u root mysql
Substitua YOURNEWPASSWORD pela sua nova senha!
UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root'; FLUSH PRIVILEGES; exit;
sudo /etc/init.d/mysql stop sudo mkdir /var/run/mysqld/ sudo chown mysql /var/run/mysqld/ sudo mysqld_safe --skip-grant-tables & sudo mysql -u root use mysql; update user set authentication_string=PASSWORD("New_Passwore_Here") where User='root'; flush privileges; exit; sudo /etc/init.d/mysql stop sudo /etc/init.d/mysql start