Como posso recuperar o meu nome de usuário e senha MySQL?

votos
128

Eu perdi meu nome de usuário e senha do MySQL. Como faço para recuperá-la?

Publicado 07/08/2008 em 04:54
fonte usuário
Em outras línguas...                            


9 respostas

votos
165

Parar o processo de MySQL.

Iniciar o processo de MySQL com a opção --skip-grant-tables.

Inicie o cliente do console de MySQL com a opção -u root.

Listar todos os usuários;

SELECT * FROM mysql.user;

Redefinir a senha;

UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';

Mas NÃO SE ESQUEÇA a

Parar o processo de MySQL

Iniciar o processo de 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 poderia ser comprometida.

Respondeu 07/08/2008 em 05:02
fonte usuário

votos
35

Infelizmente sua senha de usuário é irrecuperável. Foi hash com um hash de uma maneira que, se você não sabe é irreversível. Eu recomendo ir com Xenph Yan acima e apenas criar um um novo.

Você também pode usar o seguinte procedimento a partir do manual de redefinição da senha para qualquer MySQL raiz contas no Windows:

  1. Fazer logon no seu sistema como administrador.
  2. Pare o servidor MySQL se estiver em execução. Para um servidor que está sendo executado como um serviço do Windows, vá para o gerente de Serviços:

Menu Iniciar -> Painel de Controle -> Ferramentas Administrativas -> Serviços

Em seguida, localize o serviço MySQL na lista, e pará-lo. Se o servidor não está sendo executado como um serviço, você pode precisar usar o Gerenciador de Tarefas para forçá-lo a parar.

  1. Criar um arquivo de texto e coloque as seguintes afirmações nele. Substitua a senha com a senha que você deseja usar.

    UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
    FLUSH PRIVILEGES;
    

    A ATUALIZAÇÃO e FLUSH declarações cada um deve ser escrito em uma única linha. A ATUALIZAÇÃO declaração redefine a senha para todas as contas de raiz existentes ea FLUSH declaração informa ao servidor para recarregar as tabelas de permissões para a memória.

  2. Salve o arquivo. Para este exemplo, o arquivo será nomeado C: \ mysql-init.txt.
  3. Abra uma janela do console para chegar ao prompt de comando:

    Menu Iniciar -> Executar -> cmd

  4. Inicie o servidor MySQL com o especial --init-file opção:

    C:\> C:\mysql\bin\mysqld-nt --init-file = C:\mysql-init.txt
    

    Se você instalou o MySQL para um local diferente do C: \ mysql , ajustar o comando de acordo.

    O servidor executa o conteúdo do arquivo chamado pelo arquivo --init opção na inicialização, mudando a cada raiz senha da conta.

    Você também pode adicionar o --console opção para o comando se você quiser saída do servidor para aparecer na janela do console e não em um arquivo de log.

    Se você instalou o MySQL usando o Assistente de Instalação MySQL, você pode precisar especificar um --defaults-file opção:

    C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --init-file=C:\mysql-init.txt
    

    O apropriado --defaults-file configuração pode ser encontrada usando o Gerenciador de serviços:

    Menu Iniciar -> Painel de Controle -> Ferramentas Administrativas -> Serviços

    Encontrar o serviço MySQL na lista, clique com botão direito sobre ele e escolha a opção Propriedades. O campo Caminho para executável contém o --defaults-arquivo de configuração.

  5. Depois que o servidor foi iniciado com êxito, apagar C: \ mysql-init.txt .
  6. Pare o servidor MySQL, em seguida, reiniciá-lo no modo normal novamente. Se você executar o servidor como um serviço, inicie-o a partir da janela do Windows Services. Se você iniciar o servidor manualmente, use qualquer comando que você normalmente usa.

Agora você deve ser capaz de se conectar ao MySQL como root usando a nova senha.

Respondeu 07/08/2008 em 05:54
fonte usuário

votos
32

Uma melhoria para a resposta mais útil aqui:

1] Não há necessidade de reiniciar o servidor mysql
preocupação 2] Segurança para um servidor MySQL ligado a uma rede

Não há necessidade de reiniciar o servidor MySQL.

usar FLUSH PRIVILEGES;após a instrução de atualização mysql.user para alteração de senha.

A declaração FLUSH diz ao servidor para recarregar as tabelas de permissões na memória para que ele percebe a mudança de senha.

O --skip-grant-optionspermite que qualquer pessoa se conectar sem uma senha e com todos os privilégios. Porque este é inseguro, você pode querer

utilizar --skip-grant-tables em conjunto com --skip-networking para evitar que clientes remotos se conectem.

de: Referência: Repor-permissions-generic

Respondeu 10/11/2011 em 11:47
fonte usuário

votos
6

Enquanto você não pode recuperar diretamente uma senha MySQL sem bruteforcing, pode haver uma outra maneira - se você já usou o MySQL Workbench para se conectar ao banco de dados, e salvou as credenciais para o "cofre", você é ouro.

No Windows, as credenciais são armazenadas em % APPDATA% \ MySQL \ Workbench \ workbench_user_data.dat - criptografada com CryptProtectData (sem qualquer entropia adicional). Decrypting é fácil tapear:

std::vector<unsigned char> decrypt(BYTE *input, size_t length) {
    DATA_BLOB inblob { length, input };
    DATA_BLOB outblob;

    if (!CryptUnprotectData(&inblob, NULL, NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &outblob)) {
            throw std::runtime_error("Couldn't decrypt");
    }

    std::vector<unsigned char> output(length);
    memcpy(&output[0], outblob.pbData, outblob.cbData);

    return output;
}

Ou você pode verificar este segmento DonationCoder de fonte + executável de uma implementação rápida e suja.

Respondeu 03/11/2015 em 18:47
fonte usuário

votos
3

Se você tem acesso root ao servidor onde o MySQL está em execução, você deve parar o servidor mysql usando este comando

sudo service mysql stop

Agora inicie mysql usando este comando

sudo /usr/sbin/mysqld --skip-grant-tables  --skip-networking &

Agora você pode acessar o MySQL usando

sudo mysql
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

As instruções completas podem ser encontradas aqui http://www.techmatterz.com/recover-mysql-root-password/

Respondeu 22/01/2016 em 11:36
fonte usuário

votos
1

Entrar MySql das janelas cmd usando usuário existente:

mysql -u usuário -p
Enter password: ****

Em seguida, execute o seguinte comando:

mysql> SELECT * FROM mysql.user;

Depois disso criptografado cópia senha md5 para o usuário correspondente e existem vários on-line senha do aplicativo descriptografado disponível na web. Usando este descriptografar senha e usar isso para o login na próxima vez. ou a senha de atualização do usuário usando o comando que transborda;

mysql> UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';

Então o login usando a nova senha e usuário.

Respondeu 02/12/2014 em 08:25
fonte usuário

votos
0

Fazê-lo sem tempo para baixo

Execute seguinte comando no Terminal para conectar ao DBMS (você precisa de acesso root):

sudo mysql -u root -p;

password atualização correr do usuário-alvo (para o meu exemplo nome de usuário é mousavie é senha deve ter 123456):

UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE user='mousavi';  

Neste ponto, você precisa fazer um flush para aplicar as alterações:

FLUSH PRIVILEGES;

Feito! Você fez isso sem qualquer serviço mysql parar ou reiniciar.

Respondeu 10/03/2018 em 10:00
fonte usuário

votos
0

Se acontecer de você ter ODBC configurado, você pode obter a senha do arquivo de configuração ODBC. Isto está em /etc/odbc.ini para Linux e na pasta Software / ODBC no Registro do Windows (existem vários - pode levar algum caça)

Respondeu 30/10/2017 em 15:04
fonte usuário

votos
0

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 faço para recuperar meu nome de usuário MySQL?

OU

2) password

Esta última condição parece ter sido amplamente já abordada por isso não vou preocupar com isso. O seguinte é uma solução para o caso "Como faço para recuperá meu nome de usuário MySQL" sozinho. HIH.

Para encontrar o seu nome de usuário mysql execute os seguintes comandos a partir do shell mysql ...

SELECIONE usuário de mysql.user;

ele irá imprimir uma tabela de todos os usuários do MySQL.

Respondeu 04/06/2015 em 22:49
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more