Cambiar el password de root en MySql en Ubuntu



Bueno, en Ubuntu o derivados de Debian, recien instsalado MySql 8.x no sabemos como entrar como root porque no tenemos el password, bien con estos pasos podreis ponerle un password a root ...

Suscríbete a nuestra newsletter

Sin spam. Solo contenido útil para profesionales de bases de datos.



Antes de seguir, por si alguien no lo tiene instalado, MySql es muy fácil de instalar en Ubuntu o sistemas basados en Debian, desde el terminal ejecutamos el siguiente comando:

sudo apt install mysql-server

Y ahora seguimos con el acceso al servidor. Es bastante sencillo el proceso, tenemos que ir al directorio de configuración de MySql en /etc/mysql y buscamos el fichero y buscamos el fichero debian.cnf y lo abrimos, por ejemplo con cat:

sudo cat /etc/mysql/debian.cnf

nos mostrará algo similar a esto:

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = 5FgMC1VaFAmcmaUN
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = 5FgMC1VaFAmcmaUN
socket = /var/run/mysqld/mysqld.sock

Los passwords aquí generados son totalmente aleatorios y diferentes para todos los MySql del mundo.

Para poder acceder a MySql por primera vez tenemos que utilizar los datos de user y password que nos muestra ese fichero

mysql -u debian-sys-maint -p5FgMC1VaFAmcmaUN

Pongo el password en la línea del terminal para que se vea en el ejemplo pero esto es algo que se tiene que evitar por motivos de seguridad.

Y ya estamos dentro:



Ahora cambiamos el password al usuario root con las siguientes instrucciones:

use mysql;
UPDATE mysql.user SET plugin = ‘caching_sha2_password’  WHERE User='root';

UPDATE mysql.user SET authentication_string=null WHERE User='root'

flush privileges;



Y salimos del terminal de MySql y entramos con el password en blanco y se lo cambimos

mysql -u root -p


use mysql

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'mysql';

flush privileges;



Y esto es todo amigos, feliz programming
Saludos
Alex.