Introducción

¿Olvidó la contraseña de root para la base de datos MySQL? ¡No te preocupes, pasa y hay solución!

Este tutorial lo ayudará a restablecer la contraseña de root para su base de datos MySQL / MariaDB en caso de que la olvide. Es una guía simple que funciona con cualquier distribución moderna de Linux como CentOS 7 y Ubuntu 18.04.

requisitos

Para restablecer correctamente la contraseña de root de su base de datos, debe:

  • Inicie sesión en Ubuntu 18.04 o CentOS 7 como usuario con privilegios de root.

Paso 1 Identifique la versión de su servidor de base de datos

El primer paso para restablecer su contraseña raíz de MySQL / MariaDB es confirmar la versión de su servidor de base de datos. Esto se debe a que las diferentes versiones del servidor requieren diferentes comandos para restablecer la contraseña de root.

Ejecute el siguiente comando para determinar la versión del servidor de la base de datos:

$ mysql --version

El comando le brinda una salida diferente según el servidor de base de datos que haya instalado. Si está utilizando un servidor de base de datos MySQL, obtendrá el siguiente resultado:

mysql  Ver 14.14Distrib 5.7.22, forLinux (x86_64) using  EditLinewrapper

Por otro lado, si está utilizando el servidor de base de datos MariaDB, obtendrá un resultado similar al siguiente:

mysql  Ver 15.1Distrib 10.1.34-MariaDB, fordebian-linux-gnu (x86_64) usingreadline 5.2

Anote la versión de su servidor de base de datos MySQL / MariaDB que está utilizando; Utilizará la información más adelante en este tutorial.

Paso 2 restablece la contraseña de root

Después de identificar la versión del servidor de base de datos que está utilizando, el siguiente paso es restablecer la contraseña de root. Para hacer esto, siga los pasos a continuación.

Detenga el servicio MySQL / MariaDB

Al restablecer la contraseña de root para su servidor de base de datos, se recomienda encarecidamente que primero detenga el servicio. Ejecute el siguiente comando para detener su servidor de base de datos:

$ sudo systemctl stop mysql

Iniciar el servidor de base de datos sin cargar tablas de permisos

A continuación, reinicie su servidor de base de datos MySQL / MariaDB y asegúrese de que las tablas de subvenciones no estén cargadas. Activando el –skip-grant-tables Opción: cualquiera puede iniciar sesión en el servidor MySQL o MariaDB sin una contraseña y recibir todos los permisos. Ejecute el siguiente comando para iniciar su servidor de base de datos y habilite la opción –skip-grant-tables.

$ sudo mysqld_safe --skip-grant-tables &

La Y El signo comercial que cierra el comando anterior permite que el programa funcione en segundo plano mientras nos otorga acceso al shell del servidor de la base de datos.

Inicie sesión en el shell del servidor de la base de datos

Ahora simplemente podemos conectarnos al servidor MySQL o MariaDB como usuario root y no necesitamos una contraseña. Ejecute el siguiente comando para conectarse a su servidor MySQL o MariaDB:

$ mysql -u root

Crear una nueva contraseña

Ahora debería iniciar sesión en el shell del servidor de la base de datos. También sabe qué versión del servidor de base de datos está utilizando. Aplicaremos este conocimiento para restablecer la contraseña de root.

  • Si está utilizando MariaDB versión 10.1.20 y superior o MySQL versión 5.7.6 y superior, ejecute el siguiente comando en el shell del servidor de base de datos.
ALTERUSER'root'@'localhost'IDENTIFIEDBY'MY_NEW_PASSWORD';
FLUSHPRIVILEGES;

Si la declaración anterior (ALTER USER) no produce los resultados que desea, puede utilizar la siguiente declaración para modificar su tabla de usuarios directamente.

UPDATE mysql.user SET authentication_string = PASSWORD('MY_NEW_PASSWORD')
WHEREUser = 'root'AND Host="localhost";
FLUSHPRIVILEGES;
  • Por otro lado, si está utilizando MariaDB versión 10.1.20 y anterior o MySQL versión 5.7.5 y anterior, ejecute el comando
SETPASSWORDFOR'root'@'localhost' = PASSWORD('MY_NEW_PASSWORD');
FLUSHPRIVILEGES;

En cualquier caso, si todo fue exitoso, debería obtener un resultado como el siguiente.

QueryOK, 0 rowsaffected (0.00sec)

Parada e inicio normales de MariaDB / MySQL Server

Se restablecerá la contraseña de root para su servidor de base de datos. Detenga y reinicie el servidor normalmente ahora. Primero, ejecute el siguiente comando para detener el servidor de base de datos MariaDB / MySQL

$ mysqladmin -u root -p shutdown

A continuación, ejecute el siguiente comando para iniciar su servidor de base de datos normalmente:

  • Si está usando MySQL, ejecute el comando:
$ sudo systemctl start mysql
  • Por otro lado, si está utilizando MariaDB, ejecute el comando
$ sudo systemctl start mariadb

Comprobar la contraseña

Ejecute el siguiente comando para iniciar sesión en su servidor de base de datos con la nueva contraseña:

$ mysql -u root -p

Se le pedirá que ingrese la nueva contraseña. Ingrese la contraseña y presione ENTER para iniciar sesión en su servidor de base de datos MySQL / MariaDB.

Conclusión

¡Felicidades! Ha restablecido con éxito su contraseña de root de MySQL / MariaDB. Siempre puede usar este tutorial para restablecer la contraseña de root si la olvida. Sin embargo, es una buena idea elegir una contraseña que sea fácil de recordar pero lo suficientemente fuerte para proteger su servidor de base de datos.

Echa un vistazo a estos 3 mejores servicios de hosting web