Una pequeña receta de cocina para todos aquellos que se han seguramente encontrado con este error al no poder asignar la contraseña de root para MySQL utilizando Ubuntu 18.04. El tutorial también aplica si no mal recuerdo para versiones 16.04 y 14.04 LTS.

Iremos a la terminal más cercana y teclearemos los siguientes comandos:

1. Detener la ejecución de MySQL.

$ sudo service mysql stop

2. Crear una carpeta temporal para ejecutar MySQL

$ sudo mkdir -p /var/run/mysqld

3. Cambiar de usuario y propietario al usuario mysql sobre la carpeta recién creada.

$ sudo chown mysql:mysql /var/run/mysqld

4. Iniciar la ejecución de MySQL pasando el parámetro skip-grant-tables para poder restablecer la contraseña de MySQL.

$ sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &

5.- Abrir MySQL

$ mysql -u root

6.- Refresca privilegios de usuarios.

mysql> FLUSH PRIVILEGES;

7.- Nos cambiamos a la BD de MySQL.

mysql> USE mysql;

8.- Actualizamos la contraseña de nuestro usuario. Recomendado usar números, letras y símbolos para mayor seguridad ;).

mysql> UPDATE user SET authentication_string=PASSWORD("s_3x239Adj84+s2") WHERE User='root';

9.- Actualizar la forma de iniciar la sesión a través de MySQL.

mysql> UPDATE user SET plugin="mysql_native_password" WHERE User='root';

10. Salir de MySQL.

mysql> quit

11. Matar el proceso de MySQL iniciado.

$ sudo pkill mysqld

12. Iniciar nuestro Servidor de Base de Datos MySQL 😀

$ sudo service mysql start

Dudas y comentarios son más que bienvenidos.