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 MySQLsudo service mysql stop# Crear directorio para el lock del servicio Mysqlsudo mkdir /var/run/mysqld# dar permisos a mysql del directoriosudo 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ñasudo 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
