MariaDB

Establecer contraseña de root en MariaDB/MySQL en Ubuntu 18.04

Hace unos días instalé Ubuntu Server 18.04 en una máquina virtual para montar un servidor web usando Nginx + MariaDB + HHVM + WordPress y realizar unas pruebas, y luego de seguir lo pasos habituales me percaté que cuando instalé MariaDB, no me salió la opción habitual de establecer una contraseña para el usuario root.

Sucedió entonces que cuando ejecuté el comando:

$ mysql_secure_installation

Para asegurar la base de datos y demás, no podía seguir porque no tenía la contraseña de administrador y tampoco me permitía dejarlo en blanco. Me puse a buscar un poco por Internet y encontré que MariaDB usa el complemento unix_socket para autenticar y no las contraseñas y que aún si configuramos una contraseña, esta se ignorará. Pero por suerte hay solución para esto.

Primero nos logueamos en MariaDB usando el comando:

sudo mysql -u root

Cuando nos pida poner la contraseña simplemente damos Enter (wtf? sin contraseña).. Una vez que hagamos esto ejecutamos los siguientes comandos:

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

Y posteriormente reiniciamos MariaDB:

sudo systemctl restart mariadb.service

Ahora volvemos a ejecutar el comando:

$ mysql_secure_installation

Y estas son las opciones que debemos marcar:

  • Enter current password for root (enter for none): Oprima Enter
  • Set root password? [Y/n]: Y
  • New password: Ponemos la contraseña que queramos
  • Re-enter new password: Repetimos la contraseña
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]: Y
  • Reload privilege tables now? [Y/n]: Y

Y eso es todo.. ya podemos acceder como root.

MariaDB

Comparte:

Publicado

en

por

Comentarios

9 respuestas a «Establecer contraseña de root en MariaDB/MySQL en Ubuntu 18.04»

  1. Avatar de rlsalgueiro
    rlsalgueiro

    @elav esto es algo que hacemos los que usamos mariadb en ubuntu hace tiempo, cuando instalamos mariadb-server no nos pide clave como si lo hace mysql en el proceso de instalación así que después de terminar la instalación debemos ponerle clave al root usando `mysql_secure_installation`, lo que me llama la atención es que no te dejara pasar sin clave desde este comando que es lo que usualmente hace, ahora cuando comience a cambiar(actualizar) mis containers(CT) te comento.

    1. Avatar de systeminside

      Pues si, me pareció raro también que no me dejara con ese comando. 🤷🏻‍♂️

  2. Avatar de roman
    roman

    GENIAL, ESTABA PROBANDO CON LARAVEL Y PUES NO ME DEJÓ MIGRAR, ENTONCES ENTENDI QUE ERA LA CONTRASEÑA DE MYSQL, GRACIAS

  3. Avatar de Carlos Yinmel
    Carlos Yinmel

    Bien!, gracias Men

  4. Avatar de Alberto
    Alberto

    Hola,

    ¿la contraseña que ingresas no es la de root en Ubuntu??
    Si escribis sudo mysql -u root tambien te va a pedir lo mismo

    En cambio con mysql -u root si que las cosas cambian

    Saludos

  5. Avatar de Juan D
    Juan D

    Resulta que ejecuté el comando mysql_secure_installation y me dejó ingresar una contraseña, luego realicé la estructuración de una nueva base de datos. Lo cómico es que luego intenté acceder nuevamente al servidor con root y me dejó ingresar sin contraseña (wtf?), ahora ¿si realizo el cambio en el plugin de autenticación y vuelvo a ejecutar el comando de mysql_secure_installation no corro peligro de perder acceso a la base de datos?

  6. Avatar de Koan
    Koan

    Muchísimas gracias, me sirvió!

  7. Avatar de Juan Cuervo
    Juan Cuervo

    Buenísimo, gracias

  8. Avatar de Fran
    Fran

    Gracias totales!!! A veces configurar mariadb mysql puede ser un pequeño dolor de cabeza para quien no esta acostumbrado, gracias!!! pero al final la transparencia y simplicidad de trabajar en linux es gratificante.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.