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

No se puede acceder al usuario raíz de MySql, incluso después de configurar la contraseña a través del modo seguro en la terminal de Linux

Ingrese como antes en el Paso 2, es decir, reinicie el demonio mysql en modo seguro.

Emita el comando

select user,host,password from mysql.user where user='root';

corte y pegue la salida en un editor de texto para comparar (los valores de la columna de contraseña con hash) antes y después de lo siguiente.

Para cada fila observe el host columna. En el siguiente ejemplo, asumo que tengo dos filas. Una fila tiene % como host, el siguiente tiene localhost

Para cada fila que tenía un host variación, emitirá un comando. Entonces, en mi ejemplo anterior, emitiría 2 comandos en total, como:

SET PASSWORD FOR 'root'@'%' = PASSWORD('MyNewPassword');
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');

ejecutar

select user,host,password from mysql.user where user='root';

corta y pega eso en el editor de texto. Observe el cambio en los hashes de contraseña.

Apague el demonio desde el modo seguro y reinícielo normalmente.

Intente iniciar sesión como root con MyNewPassword

Aqui hay unos cuantos enlaces. El de SET PASSWORD Syntax , y suele ser el siguiente paso para Sintaxis GRANT .

Para el alcance limitado de esta pregunta, es decir, iniciar sesión, las subvenciones no serían necesarias. Pero sin las concesiones adecuadas a las bases de datos, uno estaría aislado, sin poder hacer mucho más que comandos simples como select now();

No estoy sugiriendo que su usuario raíz no tenga privilegios una vez que se cambia la contraseña. Las subvenciones son necesarias para que los usuarios normales estén seguros.