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.
@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.
Pues si, me pareció raro también que no me dejara con ese comando. 🤷🏻♂️
GENIAL, ESTABA PROBANDO CON LARAVEL Y PUES NO ME DEJÓ MIGRAR, ENTONCES ENTENDI QUE ERA LA CONTRASEÑA DE MYSQL, GRACIAS
Bien!, gracias Men
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
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?
Muchísimas gracias, me sirvió!
Buenísimo, gracias
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.