Cómo solucionar acceso root mariadb

Cómo solucionar que root no puede acceder a MariaDB tras instalarlo

¡¡Pero por qué!! Si acabas de instalar MariaDB y no te deja acceder con el usuario root, tanto si lo haces desde consola como si es con php (o tu lenguaje de programación), no te desesperes, que tiene solución.

En este caso el problema se suele presentar solamente en Linux, y es más habitual que pase en Ubuntu (Debian). De todas formas, también he visto el mismo caso en otras distros, por lo que la solución te valdrá para cualquier Linux.

MariaDB no deja acceder con root después de configurar contraseña

Lo más gracioso del caso, es que este problema se dá cuando has instalado de cero la base de datos, la has configurado con mysql_secure_installation, y estás completamente seguro de que la contraseña root es correcta.

A estas alturas ya habrás probado historias como la de ejecutar mariadb con –skip-grant-tables o similares, pero ninguna parece funcionar. Al final la solución y el por qué no te funciona la contraseña root tiene solución, pero mucho más sencilla.

Por qué no vale la contraseña mariadb al ejecutar mysql -u root

Bien, este es un fallo derivado del que vamos a solucionar, pero que seguramente también te interesará saber para no estar perdiendo el tiempo con esto.

Si has instalaod MariaDB y configurado la contraseña, luego lo normal es probarlo con este comando:

mysql -u root -p

En este momento introduces la contraseña (que sabes que está bién), pero… Horror! me dice que no es correcta y la he cambiado, reinstalado o incluso reinstalado Linux! Tranquilo.

Prueba a ejecutar este comando:

sudo mysql -u root

¿En este caso puedes acceder verdad? Entonces vamos a solucionarlo a lo fácil.

Léete también  Como automatizar backups con rsync y tu raspberry pi por ssh (y en local)

Cómo devolver acceso completo a root en MariaDB

Como ya te decía, no se trata de ejecutar de formas raras el servidor mysql ni nada raro. Esto se produce porque el usuario root de mariadb no se ha asociado correctamente a algún plugin que está entrando en conflicto con el acceso a base de datos.

Para solucionarlo ejecuta como hemos hecho antes mysql desde la consola de comandos pero con permisos root:

sudo mysql -u root

Verás que entra directamente, si te pide contraseña o te dice que no la has puesto pon -p al final y cualquier cosa cuando te pida contraseña y verás que te da acceso.

Una vez dentro lo que harás será cambiar a la base de datos mysql, para actualizar el usuario root y eliminar cualquier plugin que tenga asignado.

mysql>

use mysql;
update user set plugin='' where User='root';
flush privileges;
\q

Que no se te olvide el punto y coma detrás de cada comando para que se ejecute. Una vez hecho esto puedes reiniciar por si acaso el servidor de mariadb con:

sudo service mysql restart

Y si pruebas ahora a acceder desde tus scripts o desde el terminal sin sudo a mysql verás que ya funciona la contraseña con el usuario root.

Si no te va o te da algún otro problema dime algo en los comentarios y te echo una mano.

¿No has podido acceder nada mas instalar MariaDB? ¿En qué versión de Linux? Comenta y comparte


AYUDANOS a poder seguir dando respuestas. Te podemos echar una mano y tú también a nosotros, símplemente dale a me gusta.