sql >> Base de Datos >  >> RDS >> Mysql

Cómo restablecer la contraseña de root en MySQL 8.0

En el caso desafortunado de olvidar o perder 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 se almacena en la tabla de usuarios. Esto significa que debemos encontrar una manera de eludir la autenticación de MySQL, para que podamos actualizar el registro de contraseña.

Afortunadamente, es 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 --init-file opción 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 el cambio anterior "nueva_contraseña ” con la contraseña que desea utilizar.

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

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

Luego ejecuta 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, por lo tanto, se actualizará la contraseña del usuario raíz. 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 --skip-grant-tables opción. 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 para --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 --skip-grant-tables opción, tendremos que recargar las subvenciones. Así 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 usar.

# 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 le gustaría leer estos útiles artículos relacionados con MySQL.

  1. Cómo instalar MySQL 8 en CentOS, RHEL y Fedora
  2. 15 consejos útiles de ajuste y optimización del rendimiento de MySQL
  3. 12 prácticas de seguridad de MySQL para Linux
  4. 4 herramientas de línea de comandos útiles 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.