Cómo restablecer la contraseña de root de MySQL (incluso si la olvidó)

UPS. Acaba de darse cuenta de que olvidó la contraseña raíz de MySQL en su instancia EC2 Linux de Amazon Web Services (AWS) o en cualquier otro lugar. Esta guía lo ayudará a comenzar en cualquier sistema para restablecer la contraseña de root perdida para MySQL.

Intentó iniciar sesión en MySQL usando lo que cree que es la contraseña correcta para la cuenta raíz y vio este mensaje siniestro:

mysqladmin: error al conectarse al servidor en 'localhost': 'Acceso denegado al usuario' root '@' localhost '(usando contraseña: SÍ)

Lo intentaste de nuevo para asegurarte de que no lo lograste y obtuviste el mismo resultado.

Debido a que la cuenta raíz suele ser la cuenta de administrador "supremo" en cualquier instalación de MySQL, se cae rápidamente porque tiene un problema grave.

Ahora estás listo para golpear tu cabeza contra la mesa. Repetidamente.

El problema se destaca

Primero que nada: relájate. No todo está perdido.

Siempre que tenga los derechos de su instancia EC2, puede restablecer su contraseña y comenzar de nuevo.

Desafortunadamente, entender todo puede ser un poco tedioso. Documentación de mysql para encontrar exactamente lo que buscas. Esto es especialmente cierto si desea restablecer rápidamente su contraseña para poder hacer el trabajo.

Pero no te preocupes. Aquí está su guía paso a paso para restablecer la contraseña de root de MySQL.

Índice

Paso 1: inicie sesión en su servidor Linux

Comience iniciando sesión en su servidor Linux como de costumbre.

Va a iniciar y detener el servicio aquí, por lo que es mejor hacer todo como root. Después de recibir la solicitud, ingrese el siguiente comando:

sudo-s

Una vez que haga eso, obtendrá acceso de root para todos sus comandos futuros, por lo que no tendrá que anteponerlos con "sudo" cada vez.

Nota: El acceso de raíz a MySQL es completamente diferente al acceso de raíz en su instancia de MySQL, aunque tengan el mismo nombre.

Paso 2: detener el demonio MySQL

Probablemente sepa que hay tres componentes ejecutables para instalar MySQL: cliente, utilidad administrativa y servidor.

El cliente se inicia con el archivo ejecutable "mysql". Le da acceso desde la línea de comandos para manejar funciones administrativas en MySQL.

La utilidad administrativa se ejecuta mediante el archivo ejecutable "mysqladmin". Probablemente lo usó para establecer su contraseña originalmente cuando instaló MySQL por primera vez.

El servidor comienza con el archivo ejecutable "mysqld". La "D" al final de su nombre significa que se ejecuta como un "demonio", un término de Unix para un proceso que se ejecuta como un servicio en segundo plano.

Deberá detener este demonio antes de poder restablecer su contraseña de MySQL. Puede hacerlo fácilmente con el comando "servicio". Simplemente vaya a la línea de comando e ingrese:

detener el servicio mysqld

Si ha iniciado sesión como root, debería ver la siguiente respuesta:

Terminar mysqld: [OK]

Esto significa que ha terminado con éxito el servicio.

Detener el servicio mysqld

Paso 3: Ejecute el demonio MySQL sin contraseña

Ahora que detuvo el demonio MySQL, es hora de volver a ejecutarlo.

Eso parece raro, ¿no?

Cabe señalar que cuando reinicia el demonio MySQL, lo ejecuta para que todos puedan acceder a las bases de datos. Obviamente, esta es una situación extremadamente peligrosa y no desea dejarla así por mucho tiempo, por lo que es mejor completar todo el proceso de restablecimiento de contraseña lo antes posible.

Aquí hay un comando para ejecutar el daemon para que pueda iniciar sesión sin una contraseña:

mysqld_safe ‐‐ skip-grant-tables &

Están sucediendo muchas cosas, así que consideremos cada pieza por separado.

El archivo ejecutable mysqld_safe es la forma recomendada de ejecutar el demonio MySQL. No está utilizando el comando "servicio" aquí porque necesita agregar algunas opciones de línea de comando.

La opción skip-grant-tables hace exactamente lo que piensas. Esto le dice a MySQL que no se preocupe por qué usuario tiene los derechos, y simplemente ejecute a todos sin contraseña.

Ampersand al final le dice a su instancia de EC2 Linux que ejecute el proceso en segundo plano. Así que puedes hacer otras cosas en la misma ventana mientras el daemon se está ejecutando.

Es posible que deba presionar Enter nuevamente para ver la línea de comando.

Reinicie mysqld para no pedir contraseña

Paso 4: Conéctese al servidor MySQL sin contraseña

Ahora ingrese lo siguiente en el símbolo del sistema:

raíz mysql -u

Por lo general, ejecuta este comando con -p. Sin embargo, en este caso no está utilizando esta opción porque ha iniciado sesión sin contraseña.

También notará que el servidor MySQL lo permite de inmediato. Deberías ver esta pista:

mysql>

¡Felicidades! Ahora está en MySQL con plena autoridad, incluso si no ha ingresado una contraseña.

Nuevamente: no dejes el sistema por tanto tiempo.

Iniciar sesión en mysql sin contraseña

Ahora ingrese el siguiente comando:

usa mysql;

Esto cambia la base de datos que está utilizando a una base de datos del sistema MySQL.

Luego ingresa esto:

actualizar establecer contraseña de usuario = CONTRASEÑA ("[NEW PASSWORD]") donde Usuario =" raíz ";

Esto establece una nueva contraseña de root. Obviamente, reemplazará su nueva contraseña con [NEW PASSWORD] el texto que ves arriba.

Próximo:

privilegios de vaciado;

Este comando simplemente le dice a MySQL que haga nuevos cambios inmediatamente y no espere a que el servidor se reinicie.

Por fin:

dejar de fumar

Esto sale del cliente MySQL.

Paso 5: detenga el demonio MySQL (nuevamente)

A continuación, detendrá el demonio MySQL que ejecutó anteriormente porque ahora les da a todos acceso completo sin contraseña.

Ingrese este comando familiar:

detener el servicio mysqld

Verá un resultado ligeramente diferente al de la última vez. Esto se debe a que ejecutó el demonio sin usar el comando de servicio.

El resultado será algo como esto:

[1]+ Realizado por mysqld_safe ‐‐skip-grant-tables

Detenga el servicio mysqld nuevamente

Paso 6: reinicia y comprueba

Ahora está listo para reiniciar el servidor MySQL de la forma habitual y verificar la nueva contraseña.

Primero, inicie el servidor:

Inicie el servicio mysqld

Tienes que ver lo familiar [OK] en respuesta.

Ahora comprueba tu nueva contraseña:

mysql -u raíz -p

Esto le obligará a introducir una contraseña. Asegúrese de ingresar la misma contraseña que usó cuando la restableció hace dos pasos.

Una vez más: ¡felicidades! Acabas de restablecer tu contraseña.

Envuélvelo

No todo está perdido si olvidó la contraseña de root de MySQL. Con solo un poco de esfuerzo, puede restablecerlo para que sus bases de datos sigan siendo seguras y tenga acceso a importantes funciones de administración de MySQL.


Artículos de interés

Subir

Si continuas utilizando este sitio aceptas el uso de cookies. Más información