Cómo restablecer la contraseña de root de MySQL o MariaDB

Cómo restablecer la contraseña de root de MySQL o MariaDB

Olvidar las contraseñas pasa siempre. Si olvida o pierde la contraseña de root a su base de datos MySQL o MariaDB, todavía se puede acceder y restablecer la contraseña si tiene acceso al servidor y una cuenta de usuario habilitado para sudo.

Este tutorial nos muestra cómo restablecer la contraseña de root para versiones más antiguas y nuevas de MySQL y MariaDB.

Requisitos previos

Para recuperar su contraseña de root MySQL / MariaDB, necesitará:

  • El acceso al servidor Linux corriendo MySQL oMariaDB con un usuario sudo.

Paso 1 – Identificar la versión de la base de datos

La mayoría de las distribuciones modernas de Linux se envían con MySQL o MariaDB, un popular reemplazo que es totalmente compatible con MySQL. Dependiendo de la base de datos utilizada y su versión, necesitará usar comandos diferentes para recuperar la contraseña de root.

Puede comprobar su versión con el siguiente comando:

Verás la respuesta como ésta con MySQL:

O como esto para MariaDB:

Anote qué base de datos y qué versión está ejecutando, ya que los utilizará más tarde.

A continuación, debe detener la base de datos para poder acceder a ella manualmente.

Paso 2: detener el servidor de base de datos

Para cambiar la contraseña de root, tiene que detener los servicios  de la base de datos.

Para MySQL:

Para MariaDB:

Después de detener el servicio de base de datos, accederá a él manualmente para restablecer la contraseña de root.

Paso 3 – Reiniciar el servidor de base de datos sin verificación de permisos

Si ejecuta MySQL y MariaDB sin cargar información sobre privilegios de usuario, le permitirá acceder a la línea de comandos de la base de datos con privilegios de root sin proporcionar una contraseña. Esto le permitirá tener acceso a la base de datos sin saberlo.

Para ello, tiene que dejar que cargué la base de datos de las tablas de permisos, que almacenan información de privilegios de usuario. Debido a que esto representa un riesgo para la seguridad, también debe omitir la conexión en red para evitar que otros usuarios se conecten.

Inicie la base de datos sin cargar las tablas de permisos ni habilitar la creación de redes:

El signo «&» al final de este comando hará que este proceso se ejecute en segundo plano para que pueda seguir utilizando su terminal.

Ahora puede conectarse a la base de datos como el usuario root, que no debe pedir una contraseña.

De inmediato verá un indicador de shell de base de datos en su lugar.

Ahora que tiene acceso de root, puede cambiar la contraseña de root.

Paso 4 – Cambiar la contraseña de root

Una forma sencilla de cambiar la contraseña de root para las versiones modernas de MySQL es usando el comando ALTER USER. Sin embargo, este comando no funcionará ahora porque no se cargan las tablas de concesión.

Indicamos al servidor de base de datos, que vuelva cargar las tablas de permisos es con el comando FLUSH PRIVILEGES.

Ahora podemos cambiar la contraseña de root.

Para MySQL 5.7.6 y posteriores, así como MariaDB 10.1.20 y más reciente, utilice el siguiente comando.

Para MySQL 5.7.5 y mayores, así como MariaDB 10.1.20 y mayores, utilice:

Asegúrese de cambiar new_password con su nueva contraseña de su elección.

Nota: Si el comando ALTER USER no funciona, por lo general es indicativo de un es un problema más grande. Sin embargo, puede intentar con UPDATE … SET  para restablecer la contraseña de root en su lugar.

Recuerde recargar los permisos de las tablas después de esto.

En cualquier caso, debe ver la confirmación de que el comando se ha ejecutado correctamente.

Salida

La contraseña se ha cambiado, por lo que ahora puede detener la instancia manual del servidor de base de datos y reiniciarla como antes.

Paso 5: reinicie normalmente el servidor de base de datos

En primer lugar, detener la instancia del servidor de base de datos que inicia de forma manual en el paso 3. Este comando busca el PID, o identificador de proceso, de MySQL o MariaDB y envía SIGTERM  para indicarle que debe salir sin problemas después de realizar las operaciones de limpieza.

Para MySQL, utilice:

Para MariaDB, utilice:

A continuación, reinicie el servicio usando systemctl.

Para MySQL, utilice:

Para MariaDB, utilice:

Ahora puede confirmar que la nueva contraseña se ha aplicado correctamente ejecutando:

El comando debe ahora pedir la contraseña recién asignada. Escríbalo y debería tener acceso a la base de datos como se esperaba.

Conclusión

Ahora tiene acceso al servidor de MySQL o MariaDB restaurado. Asegúrese de que la nueva contraseña de root que elija sea fuerte y segura y guárdela en un lugar seguro.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.