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?

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


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.


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 .


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!


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'

-1

Para o MySQL 5.7.23 mais recente:

mysqladmin -u root password '' -p

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.