Tenho tentado redefinir minha senha de root do MySQL. Eu executei mysqld_safe --skip-grant-tables, atualizei a senha do root e verifiquei a tabela do usuário para ter certeza de que está lá. Depois de reiniciar o daemon mysql, tentei efetuar login com a nova senha de root que acabei de definir e ainda consigo Acesso negado para erros do usuário 'root'. Também tentei remover e reinstalar completamente o mysql (incluindo a remoção do arquivo my.cnf) e ainda não tive sorte. Alguém tem alguma sugestão sobre o que posso fazer a seguir?
desde já, obrigado
mysql
root
mysqladmin
usuario
fonte
fonte
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('somepassword');
é mais seguro.Respostas:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypass');
fonte
FLUSH PRIVILEGES
para tornar efetiva a mudança sem reiniciar o servidor de banco de dados.dê uma olhada no manual de referência do MySQL:
Primeiro login no mysql:
Então, no prompt do mysql, execute:
Então
Veja esta página para mais informações: Redefinindo a Senha Root: Sistemas Unix
fonte
Você pode encontrar Resetting the Root Password na documentação do MySQL.
fonte
mysqld --initialize --console
Esta é a resposta atualizada para WAMP v3.0.6 e superior
No MySQL versão 5.7.x não há mais campo de senha na tabela mysql. Ele foi substituído por authentication_string. (Isso é para o terminal / CLI)
(Isso se for para PHPMyAdmin ou qualquer GUI Mysql)
fonte
mysql.user
tabela deve ser atualizada. Observe que se você estiver usando qualquer outro banco de dados (definido pelouse
comando), receberá um erro informando que a tabelauser
não existe. Obrigado, senhor!mysql.user
mesa. outras respostas estão desatualizadasEncontrei! Esqueci de fazer o hash da senha quando a alterei. Usei esta consulta para resolver meu problema:
update user set password=PASSWORD('NEW PASSWORD') where user='root';
Esqueci
PASSWORD('NEW PASSWORD')
e coloquei a nova senha em texto simplesfonte
--init-file=
se você olhou para fora.Siga os passos abaixo.
passo 1. pare o mysql
passo 2.
sudo mysqld_safe --skip-grant-tables
etapa 3.
mysql -u root
Passo 4.
use mysql;
passo 5.
show tables;
etapa 6.
describe user;
etapa 7.
update user set authentication_string=password('1111') where user='root';
login com senha 1111
fonte
flush privileges
é importante como última etapa.Também pesquisei e provavelmente algumas respostas se encaixam em algumas situações,
minha situação é Mysql 5.7 em um sistema Ubuntu 18.04.2 LTS:
(obter privilégios de root)
(configurar senha para usuário root db + implementar segurança em etapas)
(dê acesso ao usuário root por meio de senha em vez de soquete)
(+ editar: aparentemente, você precisa definir a senha novamente?)
(não defina como 'mySecretPassword' !!!)
Muito obrigado a zetacu (e erich ) por esta excelente resposta (depois de pesquisar algumas horas ...)
Aproveite :-D
S.
fonte
No MySQL 8.0.4+
Para atualizar o usuário root atual:
Para atualizar outro usuário:
Para definir a política de senha antes de atualizar a senha:
Outra / melhor maneira de atualizar a senha root:
Deseja manter a autenticação 5.x para ainda poder usar aplicativos legados?
Em
my.cnf
Para atualizar a raiz:
fonte
Isso funcionou para mim -
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
https://dev.mysql.com/doc/mysql-windows-excerpt/5.7/en/resetting-permissions-windows.html
fonte
Você tem que redefinir a senha! etapas para mac osx (testado e funcionando) e ubuntu
Pare o MySQL
Inicie no modo de segurança:
(acima da linha está todo o comando)
Este será um comando contínuo até que o processo seja concluído, então abra outra janela de shell / terminal e faça login sem uma senha:
Inicie o MySQL
sua nova senha é 'senha'.
fonte
Para MySQL 5.7.6 e posterior:
Para MySQL 5.7.5 e anterior:
fonte
Para a versão atual mais recente do mysql (8.0.16), nenhuma dessas respostas funcionou para mim.
Depois de olhar para várias respostas diferentes e combiná-las, acabei usando o que funcionou:
Espero que isto ajude.
fonte
um erro comum que encontro de vez em quando é que esqueci a
-p
opção, então tem certeza de que usou:fonte
No MySQL 5.7, a senha é substituída por 'authentication_string'.
usar
fonte
Usando o utilitário de linha de comando mysqladmin para alterar a senha do MySQL:
Fonte
fonte
Tentei responder @kta, mas não funcionou para mim.
Estou usando MySQL 8.0
Isso funcionou para mim:
mysql>
SET PASSWORD FOR 'root'@'localhost' = 'yourpassword'
fonte
Tantos comentários, mas fui ajudado neste método:
No meu caso, após a instalação, consegui o serviço mysql sem uma senha para o usuário root e precisei definir a senha para minha segurança.
fonte
Aug 07 16:21:55 ubuntupc sudo[93250]: user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/mysqladmin -u root password 'my password'
pare todos os serviços wamp, saia de wamp.
abra o bloco de notas e digite> SET PASSWORD FOR 'root' @ 'localhost' = PASSWORD ('');
em seguida, salve-o na unidade c: com qualquer nome .. como este "c: /example.txt"
agora vá para seu "wamp" falder wamp> bin> mysql> mysql (sua versão)> bin no meu caso o caminho é "C: \ wamp \ bin \ mysql \ mysql5.6.17 \ bin"
agora copie seu caminho e execute cmd com (ctrl + r) e digite "cmd" (enter)
digite cd, clique com o botão direito do mouse em cmd e cole o caminho (digite) agora digite (mysqld --init-file = C: \ example.txt) sem colchetes e (digite)
em seguida, reinicie o PC ou abra o taskmgr e elimine o mysqld.exe
inicie o wamp e sua senha será removida ...
fonte
Para usuários de MacOS, se você esquecer sua senha de root, @resposta de soharaK ( https://stackoverflow.com/a/28601069/5628856 ) é boa, mas há mais alguns truques:
Se você estiver usando a preferência do sistema para iniciar o lado do servidor mysql, simplesmente
pode não funcionar para você.
Você deve ter certeza de que os argumentos da linha de comando são os mesmos da configuração de inicialização do sistema.
O seguinte comando funciona para mim:
Você pode usar
para verificar o seu.
fonte
No Ubuntu,
Substitua
5.5
pela sua versão atual e será solicitada a nova senha de root.fonte
fonte