Usuario no root de Mariadb

Usuario no root de Mariadb

He instalado mariadb y como usuario root de Linux, puedo ejecutar el comando mysql para acceder a la base de datos. Pero cuando intento iniciar sesión como usuario normal de Linux y ejecutar mysql -u root -p, aparece el error:

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

Probé varios métodos, como restablecer la contraseña para el usuario root de MySQL, pero fue inútil.

Cualquier ayuda será genial.

Respuesta1

Tuve el mismo problema, fue causado por un valor de "complemento" en la tabla "mysql.user".

¿Has probado con esta respuesta?https://askubuntu.com/a/636579/299538

Aquí hay una explicación para eso:https://superuser.com/a/1071043/592085

Respuesta2

En MariaDB no puedes iniciar sesión con un usuario normal, debes acceder a root o usar sudo. Otra solución es agregar otro usuario root con todos los privilegios.

Conéctese con sudo a db:

sudo mysql -u root

Verifique su cuenta en la base de datos actual:

mysql> SELECT User,Host FROM mysql.user;
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | localhost |

Recrear usuario root(use contraseña si es necesario):

mysql> CREATE USER 'root'@'%' IDENTIFIED BY '';

Dar permiso:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

Enjuagar:

mysql> FLUSH PRIVILEGES;

Mostrar usos de la base de datos:

SELECT User,Host FROM mysql.user;
+------+-----------+
| User | Host      |
+------+-----------+
| root | %         |
| root | localhost |
+------+-----------+

Salga y conéctese con el usuario normal:

mysql -u root

información relacionada