Resetear/recuperar la contraseña de root de MySQL

11 Jul

Este post realmente no tiene que ver con Asterisk, pero resolviendo una consulta que me hicieron, consideré que podría ser útil para aquel que se ha visto en la necesidad de acceder a una BD de MySQL de la cual no se tiene la contraseña de root.

Los pasos a seguir son bastante sencillos (hay que ejecutar los comandos con permisos de root de Linux):

  1. Detenemos el servicio de MySQL
    [codesyntax lang=»bash»]

    /etc/init.d/mysql stop

    [/codesyntax]

  2. Iniciamos MySQL pero en modo sin privilegios
    [codesyntax lang=»bash»]mysqld_safe –skip-grant-tables &[/codesyntax]
  3. Hacemos un login a MySQL sin password
    [codesyntax lang=»bash»]mysql -u root[/codesyntax]
  4. Cambia el password (este query se ejecuta desde adentro de MySQL, al cual accedimos ya porque arrancamos sin contraseña).
    [codesyntax lang=»sql»]UPDATE mysql.user set Password = PASSWORD(‘tunuevopass‘) WHERE User=’root’;[/codesyntax]
  5. Salimos de SQL
    [codesyntax lang=»sql»]exit;[/codesyntax]
  6. Detenemos la sesión corriendo de MySQL
    [codesyntax lang=»bash»]mysqladmin shutdown[/codesyntax]
  7. Reiniciamos el servicio de MySQL
    [codesyntax lang=»bash»]/etc/init.d/mysql restart[/codesyntax]

Al re-arrancar, ya debemos poder acceder a nuestro servicio MySQL con la nueva contraseña que definimos.

¡Suerte!

Christian Cabrera

Soy ingeniero en comunicaciones con especial interés en el área de voz sobre IP y tecnologías sobre información. He usado Asterisk de manera diaria desde hace más de 18 años. En el 2011 co-fundé Enlaza Comunicaciones, una empresa que se especializa en brindar servicios profesionales de consultoría sobre voz sobre IP basadas en Asterisk, así como servicios de interpretación simultánea y traducción.