RESTABLECER CONTRASEÑA ROOT MYSQL

MYSQL 5.7 en debian 16.04 o 18.04

Si se requiere recuperar el acceso a mysql por que no se cuenta con la contraseña del usuario root, se deben realizar los siguientes pasos.

# abrir terminal y parar servicio de MySQL
sudo service mysql stop
# Crear directorio para el lock del servicio Mysql
sudo mkdir /var/run/mysqld
# dar permisos a mysql del directorio
sudo chown mysql: /var/run/mysqld
# Iniciar Mysql en modo seguro, localmente.
sudo mysqld_safe --skip-grant-tables --skip-networking &
# abrir otra terminal e iniciar sesión sin contraseña
sudo mysql -u root mysql

Ejecutar la siguiente sentencia SQL para actualizar la contraseña. NUEVACONTRASEÑA será la nueva contraseña, y en host en mi caso pondré localhost, ejecutar la primera sentencia y despues el Exit;

UPDATE mysql.user SET authentication_string=PASSWORD('NUEVOPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';

EXIT; 

el resultado deberá mostrarnos un mensaje donde confirma que se afectó una fila

Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1 

Finalmente solo bastará con

# En el terminarl detener la instancia previamente iniciada
sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
# Iniciar mysql de forma normal.
sudo service mysql start
# Iniciar sesión en Mysql con la nueva contraseña
sudo mysql -u root -p
Scroll al inicio