Búsqueda de sitios web

Cómo restablecer la contraseña raíz en MySQL 8.0


En el desafortunado caso de que olvide o pierda su contraseña de root de MySQL, seguramente necesitará una forma de recuperarla de alguna manera. Lo que necesitamos saber es que la contraseña está almacenada en la tabla de usuarios. Esto significa que necesitamos encontrar una manera de omitir la autenticación de MySQL, para poder actualizar el registro de contraseña.

Afortunadamente, existe una solución fácil de lograr y este tutorial lo guiará a través del proceso de recuperación o restablecimiento de la contraseña de root en la versión MySQL 8.0.

Según la documentación de MySQL, hay dos formas de restablecer la contraseña raíz de MySQL. Revisaremos ambos.

Restablecer la contraseña raíz de MySQL usando –init-file

Una de las formas de restablecer la contraseña de root es crear un archivo local y luego iniciar el servicio MySQL usando la opción --init-file como se muestra.

vim /home/user/init-file.txt

Es importante que se asegure de que el usuario de MySQL pueda leer el archivo. Dentro de ese archivo pegue lo siguiente:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

En lo anterior, cambie “nueva_contraseña” con la contraseña que desea utilizar.

Ahora asegúrese de que el servicio MySQL esté detenido. Puedes hacer lo siguiente:

systemctl stop mysqld.service     # for distros using systemd 
/etc/init.d/mysqld stop           # for distros using init

Luego ejecute lo siguiente:

mysqld --user=mysql --init-file=/home/user/init-file.txt --console

Esto iniciará el servicio MySQL y durante el proceso ejecutará el archivo de inicio que ha creado y así se actualizará la contraseña del usuario root. Asegúrese de eliminar el archivo una vez que se haya restablecido la contraseña.

Asegúrese de detener el servidor e iniciarlo normalmente después de eso.

systemctl stop mysqld.service        # for distros using systemd 
systemctl restart mysqld.service     # for distros using systemd 

/etc/init.d/mysqld stop              # for distros using init
/etc/init.d/mysqld restart           # for distros using init

Ahora debería poder conectarse al servidor MySQL como root usando la nueva contraseña.

mysql -u root -p

Restablecer la contraseña raíz de MySQL usando –skip-grant-tables

La segunda opción que tenemos es iniciar el servicio MySQL con la opción --skip-grant-tables. Esto es menos seguro ya que mientras el servicio se inicia de esa manera, todos los usuarios pueden conectarse sin contraseña.

Si el servidor se inicia --skip-grant-tables, la opción --skip-networking se activa automáticamente, por lo que las conexiones remotas no estarán disponibles.

Primero asegúrese de que el servicio MySQL esté detenido.

systemctl stop mysqld.service     # for distros using systemd 
/etc/init.d/mysqld stop           # for distros using init

Luego inicie el servicio con la siguiente opción.

mysqld --skip-grant-tables --user=mysql &

Luego, puede conectarse al servidor mysql simplemente ejecutando.

mysql

Dado que la administración de cuentas está deshabilitada cuando el servicio se inicia con la opción --skip-grant-tables, tendremos que recargar las subvenciones. De esa forma podremos cambiar la contraseña más tarde:

FLUSH PRIVILEGES;

Ahora puede ejecutar la siguiente consulta para actualizar la contraseña. Asegúrese de cambiar "nueva_contraseña" con la contraseña real que desea utilizar.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';

Ahora detenga el servidor MySQL e inícielo normalmente.

systemctl stop mysqld.service        # for distros using systemd 
systemctl restart mysqld.service     # for distros using systemd 

/etc/init.d/mysqld stop              # for distros using init
/etc/init.d/mysqld restart           # for distros using init

Debería poder conectarse con su nueva contraseña.

mysql -u root -p

También te puede interesar leer estos útiles artículos relacionados con MySQL.

  1. Cómo instalar MySQL 8 en CentOS, RHEL y Fedora
  2. 15 consejos útiles para optimizar y ajustar el rendimiento de MySQL
  3. 12 prácticas de seguridad de MySQL para Linux
  4. 4 herramientas útiles de línea de comandos para monitorear el rendimiento de MySQL
  5. Comandos de administración de bases de datos MySQL
Conclusión

En este artículo, aprendió cómo restablecer la contraseña de root perdida para el servidor MySQL 8.0. Espero que el proceso haya sido fácil.