Instalei o mariadb e como usuário root do Linux, posso executar o comando mysql para acessar o banco de dados. Mas quando tento fazer login como um usuário normal do Linux e executar mysql -u root -p
, recebo um erro:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'.
Tentei vários métodos como redefinir senha para o usuário root do mysql, mas não adiantou.
Qualquer ajuda será ótima.
Responder1
Eu tive o mesmo problema, foi causado por um valor “plugin” na tabela “mysql.user”.
Você já tentou com esta resposta:https://askubuntu.com/a/636579/299538
Aqui está uma explicação para isso:https://superuser.com/a/1071043/592085
Responder2
No MariaDB você não pode fazer login com usuário normal, você deve acessar root ou usar sudo
. Outra solução adiciona outro usuário root com privilégios totais.
Conecte-se com sudo ao banco de dados:
sudo mysql -u root
Verifique sua conta no banco de dados atual:
mysql> SELECT User,Host FROM mysql.user;
+------------------+-----------+
| User | Host |
+------------------+-----------+
| root | localhost |
Recrie o usuário root
(use a senha se precisar):
mysql> CREATE USER 'root'@'%' IDENTIFIED BY '';
Dar permissão:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
Rubor:
mysql> FLUSH PRIVILEGES;
Mostrar usos do banco de dados:
SELECT User,Host FROM mysql.user;
+------+-----------+
| User | Host |
+------+-----------+
| root | % |
| root | localhost |
+------+-----------+
Saia e conecte-se com o usuário normal:
mysql -u root