Como mudar minha senha root do mysql de volta para vazia?

43

Quando estou trabalhando localmente, não preciso digitar minha senha para acessar meu banco de dados. Mudei minha senha root quando instalei o mysql, mas não sei como mudar minha senha novamente. O que devo fazer?

Andrew
fonte

Respostas:

43

Para alterar a senha root para newpassword:

 mysqladmin -u root -p'oldpassword' password 'newpassword'

Para alterá-lo para que o root não exija uma senha:

 mysqladmin -u root -p'oldpassword' password ''

Nota: acho que é importante que não haja um espaço entre o -pe, 'oldpassword'mas posso estar errado sobre isso

Andrew
fonte
3
Eu continuo recebendo erro: acesso negado para 'root' @ localhost. como posso corrigir isso por favor?
tq
funciona para mim: mysqladmin -u -p'oldpassword raiz' password '' @tq: você deve digitar extactly oldpassword
Bảo Nam
15

Em vez de remover a senha (que pode ter conseqüências desagradáveis ​​no futuro, se você expor esse servidor aos wilds), coloque a senha atual (e seu nome de usuário) em ~/.my.cnf(ou provavelmente em um local equivalente no Windows) parecido com este:

[client]
user = root
password = s3kr1t

Isso oferece ao MySQL a incrível capacidade de se autorregular usando as credenciais fornecidas, sem deixar você aberto para desagradáveis ​​no futuro.

mulher
fonte
7
  1. Pare o mysqld e reinicie-o com a opção --skip-grant-tables .
  2. Conecte-se a ele usando apenas mysql .
  3. Mude a senha root:

    UPDATE mysql.user SET Senha = PASSWORD ('MyNewPass') WHERE Usuário = 'root';

    PRIVILÉGIOS DE LAVAGEM;

Para referência: os documentos oficiais do mysql .


fonte
11
Isso funciona, mas é uma maneira de força bruta de fazê-lo. Isso é mais para quando você não sabe a senha.
David
6

Note que a partir do MySQL 5.7, o plugin validate_password está ativo por padrão e impede que você use uma senha vazia.

Você precisa desativar este plug-in para permitir uma senha vazia:

UNINSTALL PLUGIN validate_password;
SET PASSWORD FOR root@localhost = PASSWORD('');

Tenha cuidado para que, a menos que você não se importe com a segurança, siga os conselhos do @ womble e use uma senha, juntamente com um .my.cnfarquivo por conveniência.

Confira meu artigo Removendo a senha root do MySQL neste tópico!

Benjamin
fonte
Para versões> 5.6, esta é a única maneira que funciona. Eu suspeito que deve funcionar em versões anteriores também.
Diego Diego
1

Nas versões mais recentes

UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root'

e isso removerá a senha

UPDATE mysql.user SET authentication_string=PASSWORD('') WHERE User='root'
Abadis
fonte
-1

Para o MySQL 5.7.23 mais recente:

mysqladmin -u root password '' -p

maestro
fonte