Cómo recuperar la contraseña de root de MySQL

Si has perdido la contraseña del usuario root de MySQL, es posible restablecerla siguiendo los pasos que detallamos a continuación.

Para poder restablecer la contraseña, será necesario acceder al servidor por SSH como usuario root.

Información adicional

Puedes encontrar más información sobre el acceso por SSH a tu servidor en el artículo:

Acceder por SSH a Linux

Una vez dentro de tu servidor tendrás que:

  1. Detener el servicio de MySQL. Esto lo puedes hacer con uno de los siguientes comandos:
    service mysqld stopo bien:/etc/init.d/mysqld stop
  2. Iniciar el servicio de MySQL en modo abierto con el siguiente comando:
    mysqld_safe --skip-grant-tables --skip-networking&Este comando, con la opción –skip-grant-tables, iniciará MySQL sin emplear el sistema de privilegios, por lo que tendrás acceso ilimitado a todas las bases de datos.La opción –skip-networking hará que se dejen de escuchar conexiones TCP/IP externas, lo que evitará problemas externos durante el cambio.
  3. Una vez iniciado MySQL, deberás acceder con el usuario “root”. Para ello puedes hacerlo simplemente con:mysql -u root
  4. Una vez dentro de MySQL, tendrás que acceder a la base de datos MySQL, que es donde tendrás que realizar el cambio de la contraseña
    mysql> use mysql;
  5. Dentro de la base de datos MySQL, podrás lanzar la siguiente query que realizará el cambio de contraseña:
    mysql> UPDATE user SET password=PASSWORD('contraseña') WHERE user='root';

    Nota

    Recuerda que tendrás que cambiar contraseña por la nueva contraseña que quieras configurar.

     

  6. Y cuando termine podrás salir del servidor MySQL con:mysql> exit
  7. Finalmente tendrás reiniciar el servicio de MySQL para que inicie en modo normal:service mysqld restarto bien:/etc/init.d/mysqld restart

Una vez realizados los pasos anteriores, ya habrás modificado la contraseña del usuario “root” de MySQL. El comando para realizar el cambio de contraseña se puede emplear para los usuarios que quieras, sin embargo es necesario iniciar MySQL sin el sistema de privilegios para realizar el cambio del usuario “root” si has perdido tu contraseña.

To write a comment on this article, fill out the form below. Fields marked with an asterisk (*) are required.

Visitors comments
  1. Comentario (Publicado por zebaz)

    Buen articulo me ha servido.

    Reply

  2. Comentario (Publicado por zebaz)

    Buen articulo me ha servido. gracias.

    Reply

  3. Comentario (Publicado por Marttexx)

    No me sirve. No se absolutamente nada de informatica y aqui veo unos cuadraditos con codigos pero no se donde lo tengo que escribir eso. Alguien puede explicarlo mas detallado?

    Reply

    • Comentario (Publicado por cldn-kb-admin)

      Hola Marttexx,

      Debes de acceder al servidor por SSH y ejecutar los comandos que se indican.

      Un saludo.

      Reply

  4. Comentario (Publicado por marco)

    ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’
    me da ese error que puedo hacer?

    Reply

    • Comentario (Publicado por cldn-kb-admin)

      Hola Marco,

      ¿Nos podrías decir que ejecutas para que te devuelva ese error?

      Un saludo,
      Clouding.

      Reply

      • Comentario (Publicado por Javier)

        A mi me sale el mismo error que a marco. Yo ejecuté este codigo
        mysql> UPDATE user SET password=PASSWORD(‘Javo_pw9′) WHERE user=’root’;
        y me salió esto
        ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’
        Me prodrían ayudar. Gracias.

        Reply

        • Comentario (Publicado por cldn-kb-admin)

          Conectate a MySQL y prueba a ejecutar: “use mysql;” y luego “describe user;”
          Te mostrará las columnas que tiene la tabla users, debería haber una de password, en caso de no tener password si tienes “authentication_string” has de ejecutar:
          UPDATE user SET authentication_string=PASSWORD(‘Javo_pw9′) WHERE user=’root’;
          Otra opción:
          ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘Javo_pw9’;
          ALTER USER ‘root’@’*’ IDENTIFIED BY ‘Javo_pw9’;

          Reply

  5. Comentario (Publicado por Riscolso)

    Muchas gracias, me funcionó de maravilla

    Reply

    • Comentario (Publicado por cldn-kb-admin)

      De nada 😉 Si tienes cualquier otra pregunta, no dudes en comentarnos. Saludos!

      Reply

  6. Comentario (Publicado por Georgelys)

    Hola, no me deja detener el servicio, me muestra el siguiente error:
    service mysqld stop
    Failed to stop mysqld.service: Unit mysqld.service not loaded.

    Reply

    • Comentario (Publicado por cldn-kb-admin)

      Eso es porque MySQL no está funcionando o ya está parado.

      Reply