Como remover a senha root do MySQL [fechada]

195

Quero remover a senha da raiz do usuário no host local. Como eu posso fazer isso? Por engano, defini a senha do usuário root. É por isso que o phpmyadmin está dando um erro:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)

néctar
fonte
4
Por que não configurar seu phpMyAdmin para usar a senha root?
sisve
2
A documentação do MySQL contém instruções sobre como redefinir a senha root , caso você a tenha esquecido.
Michael Madsen
Observe que, começando com o MySQL 5.7, uma senha raiz aleatória é definida por padrão e você não pode removê-la sem desativar o validate_passwordplug - in primeiro. Veja meu artigo Removendo a senha root do MySQL ou esta essência diretamente.
Benjamin

Respostas:

360

Você precisa definir a senha para root@localhostficar em branco. Existem duas maneiras:

  1. O SET PASSWORDcomando MySQL :

    SET PASSWORD FOR root@localhost=PASSWORD('');
  2. Usando a mysqladminferramenta de linha de comando:

    mysqladmin -u root -pType_in_your_current_password_here password ''
Dario
fonte
1
como redefinir a senha de um banco de dados perticular?
Néctar
4
mysqladmin -u root -pcurrent_password password '' é outra maneira de fazer isso.
crackity_jones
7
Eu precisava fazer mysqladmin -u root -p password ''então digite a senha.
precisa saber é o seguinte
2
@crizCraig provavelmente porque sua senha não era CURRENTPASSWORD, o argumento da senha (diferente de outros argumentos) não tem espaço depois. Se você omitir a senha, em seguida, ele irá pedir-lhe para um ( doc )
Jason Sperske
3
@mOna tente desta maneira: 1- desative o mysql (desligando o serviço ou matando-o); 2- criar um arquivo contendo SET PASSWORD FOR root@localhost=PASSWORD('');chamado restore; 3- chamada mysqld_safe --init-file=path/to/restore; Por fim, efetue login e altere novamente a senha com a sua preferência.
Dario
23

Eu também já passei por esse problema,

Primeiro, tentei definir minha senha de root em branco usando o comando:

SET PASSWORD FOR root@localhost=PASSWORD('');

Mas não fique feliz, o PHPMYADMIN usa 127.0.0.1 e não localhost, eu sei que você diria que ambos são iguais, mas esse não é o caso, use o comando mencionado abaixo e pronto.

SET PASSWORD FOR root@127.0.0.1=PASSWORD('');

Apenas substitua localhost por 127.0.0.1 e pronto.

Faiz Akhtar
fonte
3
SET PASSWORD FOR root @ localhost = PASSWORD (''); trabalhou para mim
workdreamer 13/02/13