MySQL Access negado para o usuário 'root' @ 'localhost'

15

No meu servidor, toda vez que tento acessar o MySQL, recebo o erro:

  

Acesso negado para o usuário 'root' @ 'localhost' (usando a senha: NO)

quando tento mysqladmin -u root -p password recebo

  

Acesso negado para o usuário 'root' @ 'localhost' (usando a senha: YES)

Como posso acessar o MySQL no meu servidor Ubuntu 12.04?

    
por user253867 02.03.2014 / 08:02

6 respostas

9

Se você estiver executando n localhost, basta digitar o comando abaixo no terminal:

mysql -u root -p

Se você estiver usando um servidor externo, insira o IP do host (xxx.xxx.xxx.xxx) também:

mysql -hxxx.xxx.xxx.xxx -uroot -p

Você será solicitado a fornecer sua senha, digite-a e poderá acessar seu prompt do MySQL.

Você também pode ver esta resposta sobre como redefinir sua senha do MySQL.

    
por Parto 02.03.2014 / 08:34
6

Eu recebo os mesmos sintomas quando eu atualizo, mas para mim a correção (depois de matar o mysql e reiniciar com --skip-grant-tables para entrar) é executar

update mysql.user set plugin = '';

O processo de atualização gosta de definir esta coluna como "unix_socket". Eu não sei o que isso deve fazer, mas para mim isso quebra tudo.

    
por dogtato 28.04.2016 / 22:44
4

Defina uma senha para o mysql

sudo dpkg-reconfigure mysql-server-5.x

Agora abra o terminal e digite

mysql -uroot -p

digite a senha e pressione enter

    
por Conor 14.07.2015 / 02:08
3

Eu resolvi meu problema com isso:

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt install mysql-server
    
por Poprygun 18.08.2015 / 01:43
2

O mesmo que Ulrich Metzger, depois de atualizar minha máquina para o Ubuntu 16.04 e Mysql-server-5.7, não consegui logar com root por causa da coluna plugin alterada no banco de dados mysql.

O comando sudo dpkg-reconfigure mysql-server-5.7 e remoção, limpeza e limpeza não solucionaram meu problema.

Eu tive que parar o serviço mysql

# sudo service mysql stop

Inicie o daemon do mysql sem a opção --no-grant-tables

# sudo mysql_safe --no-grant-tables &

Em seguida, em outro terminal, digite mysql (que não possui mais autenticação) com o comando mysql e atualize as colunas de senha e plug-in por meio de um UPDATE sql

UPDATE mysql.user 
  SET authentication_string=PASSWORD(''), 
      plugin='mysql_native_password'
WHERE User='root' AND Host='localhost';

Finalmente, mate o comando mysql_safe , reinicie o serviço mysql e conecte-se ao mysql normalmente

# sudo service mysql start
# mysql
    
por Kuuak 14.12.2016 / 12:03
1

Após a atualização do 14.4LTS do Ubuntu para o 16.4LTS, o usuário root do mysql não pôde mais efetuar o login devido a uma entrada incorreta na coluna de plug-ins da tabela do usuário mysql. A atualização define o valor do plugin para o usuário root @ localhost como auth_socket , mas a entrada correta deve ser mysql_native_password , se você usou a criptografia de senha nativa do mysql antes.

    
por Ulrich Metzger 11.09.2016 / 22:18