Perdi meu nome de usuário e senha do MySQL. Como faço para recuperá-lo?
158
Pare o processo do MySQL.
Inicie o processo MySQL com a opção --skip-grant-tables.
Inicie o cliente do console MySQL com a opção -u root.
Listar todos os usuários;
SELECT * FROM mysql.user;
Redefinir senha;
UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';
Mas NÃO SE ESQUEÇA a
Pare o processo MySQL
Inicie o processo MySQL normalmente (ou seja, sem a opção --skip-grant-tables)
quando tiver terminado. Caso contrário, a segurança do seu banco de dados poderá ser comprometida.
dpkg-reconfigure mysql-server-5.5
comando para redefinir a senha root do MySQL?-u
é ignorado quando o servidor é iniciado--skip-grant-tables
.mysql.user
chamadapassword
, use emauthentication_string
vez disso.Infelizmente sua senha de usuário é irrecuperável. Foi hash com um hash unidirecional que, se você não souber, é irreversível. Eu recomendo ir com o Xenph Yan acima e apenas criar um novo.
Você também pode usar o seguinte procedimento do manual para redefinir a senha de qualquer conta raiz do MySQL no Windows:
Em seguida, encontre o serviço MySQL na lista e pare-o. Se o seu servidor não estiver sendo executado como um serviço, pode ser necessário usar o Gerenciador de Tarefas para forçá-lo a parar.
Crie um arquivo de texto e coloque as seguintes instruções nele. Substitua a senha pela senha que você deseja usar.
As instruções UPDATE e FLUSH devem ser escritas em uma única linha. A instrução UPDATE redefine a senha de todas as contas raiz existentes e a instrução FLUSH informa ao servidor para recarregar as tabelas de concessão na memória.
Abra uma janela do console para acessar o prompt de comando:
Inicie o servidor MySQL com a opção especial --init-file :
Se você instalou o MySQL em um local diferente de C: \ mysql , ajuste o comando de acordo.
O servidor executa o conteúdo do arquivo nomeado pela opção --init-file na inicialização, alterando cada senha da conta raiz .
Você também pode adicionar a opção --console ao comando se desejar que a saída do servidor apareça na janela do console e não em um arquivo de log.
Se você instalou o MySQL usando o Assistente de Instalação do MySQL, pode ser necessário especificar uma opção --defaults-file :
A configuração --defaults-file apropriada pode ser encontrada usando o Gerenciador de Serviços:
Encontre o serviço MySQL na lista, clique com o botão direito do mouse e escolha a opção Propriedades. O campo Caminho para o executável contém a configuração --defaults-file .
Agora você deve conseguir se conectar ao MySQL como root usando a nova senha.
fonte
mysqld-nt
vez demysqld
?--init-file
? (Algo semelhante ao do mysql.exe--execute
comando.)Uma melhoria para a resposta mais útil aqui:
Não há necessidade de reiniciar o servidor MySQL.
use
FLUSH PRIVILEGES;
após a atualização mysql.user para alterar a senha.O
--skip-grant-options
permite que qualquer pessoa se conectar sem uma senha e com todos os privilégios. Como isso é inseguro, convémfrom: reference: resetting-Permissions-generic
fonte
mysql.user
? Muitas vezes, porém, esse não é o caso.Embora você não possa recuperar diretamente uma senha do MySQL sem forçar brutalidade, pode haver outra maneira - se você usou o MySQL Workbench para se conectar ao banco de dados e salvou as credenciais no "cofre", você está certo.
No Windows, as credenciais são armazenadas em % APPDATA% \ MySQL \ Workbench \ workbench_user_data.dat - criptografadas com CryptProtectData (sem nenhuma entropia adicional). Descriptografar é fácil:
Ou você pode conferir este thread do DonationCoder para obter o código fonte + executável de uma implementação rápida e suja.
fonte
Faça isso sem tempo ocioso
Execute o seguinte comando no Terminal para conectar-se ao DBMS (você precisa de acesso root):
execute a senha de atualização do usuário de destino (por exemplo, o nome de usuário
mousavi
e a senha devem ser123456
):Neste ponto, você precisa fazer um flush para aplicar as alterações:
Feito! Você fez isso sem parar ou reiniciar o serviço mysql.
fonte
Se você possui acesso root ao servidor em que o mysql está executando, você deve parar o servidor mysql usando este comando
Agora inicie o mysql usando este comando
Agora você pode fazer login no mysql usando
Instruções completas podem ser encontradas aqui http://www.techmatterz.com/recover-mysql-root-password/
fonte
Entre no MySql do windows cmd usando o usuário existente:
Em seguida, execute o seguinte comando:
Depois disso, copie a senha md5 criptografada para o usuário correspondente e existem vários aplicativos descriptografados por senha online disponíveis na web. Usando essa senha descriptografada e use-a para fazer login na próxima vez. ou atualize a senha do usuário usando o comando flow:
Em seguida, faça o login usando a nova senha e usuário.
fonte
Se você tiver o ODBC configurado, poderá obter a senha no arquivo de configuração do ODBC. Isso está no /etc/odbc.ini para Linux e na pasta Software / ODBC no registro no Windows (existem vários - pode demorar um pouco)
fonte
Salve o arquivo. Neste exemplo, o arquivo será nomeado C: \ mysql-init.txt. solicitando permissões administrativas para salvar o arquivo
fonte
Apesar de uma rigorosa lógica, interpretação, science'ish computador da pergunta do op seria exigir tanto "Como posso recuperar o meu nome de usuário MySQL" e "password" - eu pensei que poderia ser útil a alguém para também abordar a OR interpretação. Em outras palavras ...
1) Como recupero meu nome de usuário MySQL?
OU
2) senha
Essa última condição já parece ter sido amplamente abordada, então não vou me preocupar com isso. A seguir, é apresentada uma solução para o caso "Como recupero meu nome de usuário MySQL" sozinho. HIH.
Para encontrar o seu nome de usuário do mysql, execute os seguintes comandos no shell do mysql ...
SELECT Usuário FROM mysql.user;
irá imprimir uma tabela de todos os usuários do mysql.
fonte