Não é possível fazer login no MySQL

4

Mesmo depois de redefinir a senha de root com o seguinte comando, não consigo fazer login no MySQL. (Outros comandos listados para fornecer informações adicionais.)

    # sudo dpkg-reconfigure mysql-server-5.1

    # mysql -u root -p
    Enter password:
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    # telnet 127.0.0.1 3306
      Trying 127.0.0.1...
      telnet: Unable to connect to remote host: Connection refused
    # ps -Aw |grep mysql
      26522 ?        00:00:00 mysqld

    # /etc/init.d/mysql start
    Rather than invoking init scripts through /etc/init.d, use the service(8)
    utility, e.g. service mysql start

    Since the script you are attempting to invoke has been converted to an
    Upstart job, you may also use the start(8) utility, e.g. start mysql

Além disso,

     # sudo mysqladmin -u root password 123
     mysqladmin: connect to server at 'localhost' failed

Parece que o MySQL não está funcionando corretamente.

    
por Reza 10.04.2012 / 15:46

4 respostas

4

Isso funciona sempre que eu preciso fazer isso ...

Pare o servidor MySQL:

sudo /etc/init.d/mysql stop

Inicie a configuração do mysqld.

sudo mysqld --skip-grant-tables &

Faça o login no MySQL como root.

mysql -u root mysql

Substitua YOURNEWPASSWORD pela sua nova senha!

UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root'; FLUSH PRIVILEGES; exit;
    
por Rinzwind 10.04.2012 / 15:53
0

Deve haver outro usuário administrador, debian-sys-maint . Verifique o arquivo /etc/mysql/debian.cnf por sua senha (não é criptografada).

Usando esta senha, entre no seu servidor mysql:

mysql -u debian-sys-maint -p

e defina uma nova senha para o usuário root :

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

Você pode verificar primeiro se o mysql está rodando e ouvindo por conexões:

sudo netstat -atpn | grep mysql

Ele deve lhe dar algo parecido com

tcp 0  0 127.0.0.1:3306     0.0.0.0:*       LISTEN      1306/mysqld

Se o mysql não for executado, você deve verificar /var/log/mysql.err e /var/log/mysql.log para detalhes.

    
por tohuwawohu 10.04.2012 / 18:18
0

Execute os seguintes comandos:

mysql -uroot -p -hlocalhost
sudo service mysql restart
mysql -u root -p

Isso deve funcionar.

    
por bademba 29.11.2016 / 14:14
0

Eu enfrentei prob semelhante no final, eu era capaz de logar desta forma (substituir "user" com o usuário real)

mysql -h 127.0.0.1 -u "user"

Isso aconteceu porque eu tinha que especificar o host e não tinha definido uma senha da conta "usuário".

    
por T. Obadiah 04.06.2017 / 22:28

Tags