Recuperar contraseña de root en Mysql

MySQL
MySQL

Cuando por descuido, imprudencia o lo que sea, perdemos o cambiamos y luego no nos acordamos la contraseña de root para MySQL y acabamos tirándonos de los pelos o cosas peores os dejo esta pequeña guía de como recuperar esa preciada contraseña.

  1. Matar los procesos de MySQL que se estén ejecutando en la máquina. kill mysql mysql-safe
  2. Creamos un ficherito con el nombre, por ejemplo, de reseteapassmysql y le añadimos las siguientes líneas:
      1. UPDATE mysql.user SET Password=PASSWORD('nuevapass') WHERE User=’root’;
      2. flush privileges;
  3. Cambiamos de la primera línea de antes el nuevapass por la contraseña que queremos
  4. Ahora solo tenemos que reiniciar MySQL pero en modo seguro y añadiendo el ficherito que acabamos de crear, lo hacemos con esta sentencia: mysqld_safe –init-file=/rutalalficherito/reseteapassmysql &
  5. Una vez que la contraseña se ha cambiado podemos eliminar el ficherito, por si las moscas, y reiniciar MySQL del modo normal:
      1. rm /rutalalficherito/reseteapassmysql
      2. pkill mysql-safe
      3. /etc/init.d/mysql start

Existe otra forma que es la siguiente,

  1. Matar los procesos de MySQL que se estén ejecutando en la máquina. kill mysql mysql-safe
  2. Reiniciamos MySQL en modo seguro con las siguientes opciones,
      1. mysqld_safe –skip-grant-tables –skip-networking

        Con -skip-grant-tables no saltamos la comprobación de permisos y con -skip-networking no se permitirán conexiones que no sean desde localhost, vaya a ser que nos entre alguien mientras estamos haciendo estos cambios.

  3. Ahora iniciamos una sesión de MySQL
      1. mysql -u root mysql
  4. Modificamos la contraseña
      1. UPDATE mysql.user SET Password=PASSWORD('nuevapass') WHERE User=’root’;
      2. flush privileges;
  5. Si obtenemos algún error con el comando anterior simplemente hacemos,

      1. mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@'localhost’ IDENTIFIED BY ‘newpA$$’;
      2. mysql> FLUSH PRIVILEGES;
        Y problema resuelto
  6. «Matamos» la sesión segura y reiniciamos normalmente,
      1. pkill mysql-safe
      2. /etc/init.d/mysql start

Espero que os sirva de algo

Matar los procesos de MySQL que se estén ejecutando en la máquina. kill mysql mysql-safe#mysqld_safe –skip-grant-tables –skip-networking

Una respuesta a «Recuperar contraseña de root en Mysql»

Deja una respuesta