CentOS 7 reset root password MySQL 5.7

Si habéis llegado aquí estáis en el lugar correcto dónde podréis restaurar la contraseña de root en MySQL 5.7. Internet está plagado de tutoriales dónde te indican cómo hacer esto pero ninguno está actualizado a las últimas versiones de CentOS y MySQL, además por todos es conocido que el soporte a MySQL por parte de la comunidad Open Source ha menguado desde su compra por Oracle.

¿Que cambia en CentOS 7 y MySQL 5.7?

  1. CentOS 7 incorpora systemd (Sistema y administrador de servicios para Linux, compatible con scripts de inicio SysV) y su herramienta de administración systemctl. ¿en que afecta esto? Pues que el script mysql_safe no está disponible (no se instala) en estos sistemas y hay que utilizar otras alternativas y gestionar mysql server community desde systemd.
  2. La tabla de usuarios en MySQL 5.7 ya no tiene campo password ahora es authentication_string.

Restaurar contraseña root en MySQL 5.7 y CentOS 7

  1. systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
  2. systemctl restart mysqld
  3. mysql -u root mysql
  4. update user set authentication_string=password('NUEVO_PASSWORD') where user='root';
  5. flush privileges;
  6. exit;
  7. systemctl unset-environment MYSQLD_OPTS
  8. systemctl restart mysqld
Todos estos comandos deben ser ejecutados como root.
NOTA: MySQL 5.7 viene por defecto con el plugin validate_password activado de manera que la contraseña debe cumplir un mínimo de fortaleza y contener mayúsculas, minúsculas, símbolos y números para que sea válida.
NOTA: En CentOS 7 al instalar MySQL me eliminó automáticamente MariaDB y sin yo introducir ningún dato perecía tener contraseña root con lo cual tuve que utilizar estos pasos para poder acceder a MySQL por primera vez.

Comentarios

Robert ha dicho que…
Hola, muy bueno tu tips para cmbiar la pass, me ayudo mucho, pero te falta indicar que se debe despues hacer un alter table como este:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'laclave';

Solo con esto despues se podra acceder desde phpmyadmin o desde fuera en general

Saludos y gracias
Rolovoley ha dicho que…
Hola gracias de verdad muchas gracias por resolver este problema y subirlo ya que busque videos tutoriales y ninguno dice de de esta solución.
Ahora seguiré con mi tarea. Gracias.
Alan D. ha dicho que…
Muy buen aporte, incluido Robert...