mariadb access denied

Como resolver o erro 1698 de acesso negado no MySQL e MariaDB

Se você obteve a mensagem ERROR 1698 ACCESS DENIED FOR USER ao tentar acessar o seu banco de dados MySQL ou MariaDB, este passo a passo pode ajudar a resolver o problema.
Abra um terminal e autentique-se no sistema como superusuário.
Agora, siga o procedimento:

  1. Autentique-se como administrador no servidor de banco de dados:
    
    mysql -u root
    

    e acesse o ‘mysql’:

    
    use mysql
    
  2. Faça a seguinte edição:
    
    update user set plugin='' where User='root';
    
  3. Por fim, “refresque” o cache e saia do servidor:
    
    flush privileges;
    exit
    

Estes 3 passos devem resolver o problema.

ERROR 1698 (28000): Access denied for user 'root'@'localhost'
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’

Referências

https://superuser.com/questions/957708/mysql-mariadb-error-1698-28000-access-denied-for-user-rootlocalhost.
https://dev.mysql.com/doc/refman/5.7/en/error-messages-server.html#error_er_access_denied_no_password_error.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

22 comentários em “Como resolver o erro 1698 de acesso negado no MySQL e MariaDB”

  1. Alguém poderia me ajudar já tentei de tudo , sou muito leigo em linux , estou tentando instalar o wordpress na vps do Amazon aws mais sempre que chego na parte de entrar no phpmyadmin eu não consigo . sempre da este error ” #1698 – Access denied for user ‘root’@’localhost'”
    e este tambem : “mysqli_real_connect(): (HY000/1698): Access denied for user ‘root’@’localhost’ ”
    eu já tentei de tudo , alguém me da uma luz por favor .

  2. Existe um erro (pequeno detalhe esquecido pelo autor), após o comando: flush privileges
    Faltou colocar o caractere (ponto e virgula) “flush privileges;”, o autor poderia editar e colocar, pois eu não coloquei e embananou tudo, tive de pressionar ctrl+C e abandonar o processo e continuar de novo depois que vi a imagem do terminal e havia esse ponto e virgula esquecido. Depois resolveu tudo. Edita aí vai para que outros (leigos) não caia no mesmo erro que eu.

    Grato.

  3. Para ser sincero, fiz diversos comandos, mas o que resolveu mesmo foi remover mysql por completo e também phpmyadmin.
    Depois reinstalei e ficou bom.

  4. pode ocorrer o erro de permissão 1045, ai basta ir na pasta do phpmyadmin e olhar o arquivo: config-db.php e ver o usuario e a senha que estão nas variaveis db pass e db user e tentar o login

  5. Foi de grande ajuda suas dicas haja visto que é muito difícil encontrar na Internet material recente, principalmente no meu caso que estou estudando com o debian 9. Apenas uma dúvida se alguém puder me ajudar fico imensamente grato, só consigo logar no phpmyadmin com o usuário ‘phpmyadmin’ gostaria de logar como root. Obrigado a todos

  6. Bom dia. Infelizmente nem esse método, nem o citado nos comentários funcionou comigo. Por alguma razão, quando instalei o MySQL, não foi solicitado a criação do usuário admin, entõ logo no primeiro passo não funciona. Consegui criar uma senha para o root usando o mysqladmin, mas não funciona. Pelo que pesquisei, isso é um problema no Ubuntu 18.04, que estou usando agora. Alguma outra ideia de solução?

    1. Neste momento, o Ubuntu 18.04 (Maio/2018) ainda é muito recente.
      Alguns bugs podem ser esperados e, “possivelmente” serão solucionados mais pra frente.
      Você teria links para os sites em que leu sobre o assunto?

      Neste site, há relato de uma possível solução:

      
      sudo mysql -u root
      
      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'nova senha';
      

      Eu não testei e, portanto, não sei se resolve.

    2. Tente usar como usuário root ‘phpmyadmin’
      Fiz isso e funcionou.
      Verifiquei na arquivo config-db.php como citado acima e vi que o usuário root é ‘phpmyadmin’ não mais ‘root’ como antes.

      você pode verificar acessando /etc/phpmyadmin/config-db.php

  7. Muito obrigado…. Estava com problemas em acessar o banco, pois ao instalar o mysql client não apareceu a opção para colocar a senha do root.

    Grato e parabéns

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.