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:
- Autentique-se como administrador no servidor de banco de dados:
mysql -u root
e acesse o ‘mysql’:
use mysql
- Faça a seguinte edição:
update user set plugin='' where User='root';
- Por fim, “refresque” o cache e saia do servidor:
flush privileges; exit
Estes 3 passos devem resolver o problema.
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.
27 replies on “Como resolver o erro 1698 de acesso negado no MySQL e MariaDB”
Valeu, no meu deu certo, estou ussando o kali Linux no modo live.
Muito obrigado!
Fiz isso e agora nem no root consigo logar. MYSQL LIXO DO C*R*LHO.
Eu fiz isso e fudeu tudo, consigo nem mais usar, tive que excluir a vps
Mano, pra você e pros próximos que chegarem nesse post e encontrarem esse problema façam o seguinte:
# Pare o MySQL
sudo service mysql stop
# Crie um diretório de serviço para o MySQL.
sudo mkdir /var/run/mysqld
# Dê permissão de usuário para escrever nesse diretório MySQL.
sudo chown mysql: /var/run/mysqld
# Inicie o MySQL manualmente, sem checagem de permissão ou networking.
sudo mysqld_safe –skip-grant-tables –skip-networking &
# Faça Login sem senha.
mysql -uroot mysql
# Agora, dentro do sistema, mude sua senha
UPDATE mysql.user SET authentication_string=PASSWORD(‘SUANOVASENHA’), plugin=’mysql_native_password’ WHERE User=’root’;
# Dê shutdown no MySQL.
sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
# Inicie o serviço do MySQL service normalmente.
sudo service mysql start
Depois disso você pode tentar logar no phpmyadmin, deve ter resolvido o problema.
Espero que isso sane a dúvida da galera, me quebrou a porra da cabeça pra achar os dados e também para adaptar a minha realidade.
I want nude man! Thanks.
Muito obrigado! Me salvou depois de horas procurando uma solução
Me salvou de ficar horas procurando uma solução, obrigado 🙂
Direto ao ponto!!!
Obrigado!
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 .
Muito Elias. Resolveu o meu problema de erro 1698-de-acesso-negado.
Deus abençoe. Forte abraço!
Excelente! Funcionou muito bem aqui! Obrigada!
Muito obrigado!! Funcionou aqui.
Foi a dica mais direta e objetiva que achei, parabéns pela objetividade…
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.
Obrigado!
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.
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
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
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?
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:
Eu não testei e, portanto, não sei se resolve.
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
Vlwwwwww deu certo
po meu velho kkkk tava me batendo a séculos , e era só mudar a zorra do login para phpmyadmin
Meu amiiigo!!!! Me ajudou demais!!! 😉
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
Resolvido, agradeço e muito pela ajuda!