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