"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Retomar el control del usuario root en MySQL

Retomar el control del usuario root en MySQL

Publicado el 2024-08-26
Navegar:476

Retake control of the root user in MySQL

Cuando instalaste MySQL por primera vez, no puedes iniciar sesión sin contraseña.
Debes agregar la siguiente línea en my.cnf para iniciar sesión sin contraseña.

skip-grant-tables

Tiene un enorme riesgo de seguridad, por lo que debes establecer una contraseña para evitar el acceso externo ilegal.

Cómo retomar el control del usuario root en MySQL

Paso 1: Conéctese a MySQL

mysql

Paso 2: Usar la base de datos principal

use mysql;

Paso 3: Redefinir la contraseña raíz del usuario

UPDATE user SET `authentication_string` = PASSWORD('myNuevoPassword') WHERE `User` = 'root';

Precaución
Si no puede ejecutar el comando, debe verificar la columna authentic_string de la tabla mysql.user.

SELECT User, authentication_string  FROM mysql.user\G
*************************** 1. row ***************************
                 User: mysql.infoschema
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 2. row ***************************
                 User: mysql.session
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 3. row ***************************
                 User: mysql.sys
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 4. row ***************************
                 User: root
W&2-*D:1FsLlMJEFsvaZNpaAlnJDEyTNo2QO7Eu7P0rhe10psBsC
4 rows in set (0.00 sec)

Y ejecutas el siguiente comando.

UPDATE user SET `authentication_string` = 'myNuevoPassword' WHERE `User` = 'root';

Paso 4: muestra la tabla mysql.user si puedes cambiar la contraseña de root

SELECT User, authentication_string  FROM mysql.user\G
*************************** 1. row ***************************
                 User: mysql.infoschema
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 2. row ***************************
                 User: mysql.session
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 3. row ***************************
                 User: mysql.sys
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 4. row ***************************
                 User: root
authentication_string: ZAQ$2wsx2408
4 rows in set (0.00 sec)

Paso 5: Borrar línea de my.cnf

skip-grant-tables

Paso 6: reiniciar el servicio MySQL

sudo systemctl restart mysqld

Paso 7: Conéctese a mysql con contraseña

mysql -u root -p
Enter password: [new password]

mysql> 

Cuando necesites realizar esta acción, ¡úsala con cuidado!

Declaración de liberación Este artículo se reproduce en: https://dev.to/kyotanakada/retake-control-of-the-root-user-in-mysql-308h?1 Si hay alguna infracción, comuníquese con [email protected] para eliminar él
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3