incapaz de redefinir a senha root do mysql

27

Eu preciso redefinir a senha de root da minha instalação local do mysql, mas ela não me deixará. Eu tentei isso:

$ sudo /etc/init.d/mysql stop
 * Stopping MySQL database server mysqld                                                                                                              [ OK ] 
[1]-  Exit 1                  sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
[2]+  Exit 1                  sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
reg@regDesktopHome:~$ sudo mysqld --skip-grant-tables &
[1] 13651
reg@regDesktopHome:~$ 140627 19:02:02 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.

reg@regDesktopHome:~$ mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
reg@regDesktopHome:~$ sudo mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[1]+  Exit 1                  sudo mysqld --skip-grant-tables

Como posso recuperar a senha? editar 1 Eu tenho isso:

$ ps ax| grep mysql
16515 ?        Ssl    0:00 /usr/sbin/mysqld
16551 pts/23   S+     0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ sudo kill -9 16515
reg@regDesktopHome:~/semios/v3upgrade$ ps ax| grep mysql
16678 ?        Ssl    0:00 /usr/sbin/mysqld
16715 pts/23   S+     0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

parece que um processo está automaticamente reiniciando o mysql assim que eu o mato ...

    
por cerr 28.06.2014 / 04:05

6 respostas

42

Primeiro, tente usar

mysql -u root -p

e digite sua senha (se você se lembrar) no prompt de login como o usuário root sql (observe a opção -p é para senha).

Se você realmente precisa redefinir sua senha root para o mysql, aqui está uma maneira fácil - reconfigure o pacote com dpkg-reconfigure .

Etapas fáceis para redefinir a senha do root mySQL:

  1. Verifique a versão do seu mysql-server ;

    apt-cache policy mysql-server
    

    e veja a linha que mostra a versão instalada, entre outras informações. por exemplo. para minha instalação é:

    Installed: 5.5.37-0ubuntu0.12.04.1
    

    (A partir disso, sei que tenho mysql-server-5.5 instalado no meu sistema.)

  2. Inicie a reconfiguração com:

    sudo dpkg-reconfigure mysql-server-*.*
    

    onde mysql-server-*.* deve ser substituído pela versão que você possui. (para mim, seria mysql-server-5.5 ). Isso irá parar o daemon do banco de dados. Um aviso será exibido onde você deve inserir sua nova senha e confirmar a reconfiguração.

    Odaemonseráiniciadoautomaticamenteapósaconclusãodareconfiguração.

  3. Vocêpodefazerlogincom:

    mysql-uroot-p

    einiciesuastarefasadministrativasdebancodedados.

Referências:

  1. link [Que em breve será limpo conforme indicado na página.]

  2. Guia do Servidor Ubuntu relacionado à sua versão específica.

por precise 28.06.2014 / 07:31
19

Referência retirada deste blog:

Etapa 1: Pare o serviço MySQL.

sudo service mysql stop

Etapa 2: Mate todo o mysqld em execução.

sudo killall -9 mysqld

Etapa 3: Iniciando o mysqld no modo de segurança.

sudo mysqld_safe --skip-grant-tables --skip-networking &

Etapa 4: Inicie o cliente mysql

mysql -u root

Etapa 5: Após o login bem-sucedido, execute este comando para alterar qualquer senha.

FLUSH PRIVILEGES;

Etapa 6: Você pode atualizar a senha do root mysql.

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';

para mysql > 5.7 use isso em vez de acima:

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

Etapa 7: Por favor, execute este comando.

FLUSH PRIVILEGES;

Etapa 8: Saia do console do mysql

exit

Etapa 9: Mate mysqld_safe e inicie o mysql

sudo killall mysqld_safe && sudo service mysql start
    
por Anvesh 08.09.2015 / 07:33
9

No Ubuntu 16.04 e mysql-server-5.7 , a resposta correta é o último comentário do olafure, dpkg-reconfigure mysql-server-5.7 não funciona mais.

sudo service mysql stop
sudo killall mysqld
sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -u root

Agora no console do mysql >mysql

USE mysql;
UPDATE user SET authentication_string=PASSWORD('newpass') WHERE user='root';
FLUSH PRIVILEGES;
\q

Reinicie o bom mysql processo

sudo killall mysqld
sudo service mysql start

Verifique sua nova senha

mysql -u root -p
Enter password: newpass
mysql>
    
por Pierre-Damien 22.11.2016 / 12:05
2

Começando com o MySQL 5.7 , durante a instalação inicial, se você deixar a senha vazia, então, para aquele usuário, a autenticação será baseada no auth_socket plugin.

A maneira correta de alterar a senha será:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';

link

    
por Barun 20.01.2017 / 20:41
0

Crie um arquivo com isto:

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

Pare o servidor mysql e execute isto:

mysqld_safe --init-file=/home/me/mysql-init &

Verifique aqui para mais detalhes: link

    
por Elier 10.12.2014 / 03:47
0

Nada do resto das respostas pareceu funcionar para mim. Esta é a minha solução:

sudo service mysql stop
sudo mysqld_safe &
sudo mysql -u root

Lá:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
FLUSH PRIVILEGES;
QUIT;

Então:

sudo killall mysqld
sudo service mysql start
sudo mysql -u root -p
    
por Wtower 19.01.2017 / 22:40