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.