Pregunta Cómo cambiar la contraseña para root@127.0.0.1 y root@example.com


Estaba mirando a los usuarios en mi tabla mysql.user y noté que hay 3 raíces.

root@localhost
root@127.0.0.1
root@example.com

Cuando descubrí esto por primera vez, ninguna de las raíces estaba protegida por contraseña. Logré proteger con contraseña root @ localhost pero no puedo averiguar cómo proteger con contraseña a los otros dos. ¿Cómo haría esto a través de la línea de comandos?

Gracias por cualquier ayuda.


5
2018-02-22 17:50


origen




Respuestas:


Consulta SQL:

update user set password=PASSWORD("NEWPASSWORD") where User='root' AND Host="127.0.0.1";
update user set password=PASSWORD("NEWPASSWORD") where User='root' AND Host="example.com";

4
2018-02-22 17:55





Tengo tres (3) precauciones para ti. Por favor, recuerde lo siguiente:

Precaución 1) Siempre ejecute FLUSH PRIVILEGES después de actualizar mysql.user. De lo contrario, los cambios no tendrán efecto hasta el próximo reinicio de mysql.

Precaución 2) Si tiene activado el registro binario, deshabilite el registro binario en su sesión. De lo contrario, la contraseña mysql será visible en los registros binarios. No se preocupe, el registro binario está activado para todas las demás conexiones de base de datos.

SET sql_log_bin = 0;
actualice la contraseña del usuario = PASSWORD ("NEWPASSWORD") donde User = 'root' AND Host = "127.0.0.1";
actualice la contraseña del usuario = PASSWORD ("NEWPASSWORD") donde User = 'root' AND Host = "example.com ';
PRIVILEGIOS DE LAVADO;

Precaución 3) En la versión de Linux de mysql, el archivo /root/.mysql_history registra su sesión escribiendo. La contraseña también es visible. Edite sus cambios utilizando vi.

Para no preocuparme por desactivar el registro binario para ocultar la contraseña, esto es lo que normalmente hago:

Tengo mysql corriendo en mi escritorio de Windows. Ejecuté lo siguiente en MySQL para Windows:

lwdba @ localhost (DB information_schema) :: select password ('NEWPASSWORD');
+ ------------------------------------------- +
| contraseña ('NEWPASSWORD') |
+ ------------------------------------------- +
| * B845F78DCA29B8AE945AB9CFFAC24A9D17EB5063 |
+ ------------------------------------------- +
1 fila en conjunto (0.00 seg)

Ahora, ejecuta esto en MySQL para Linux:

SET sql_log_bin = 0;
actualice la contraseña establecida por el usuario = '* B845F78DCA29B8AE945AB9CFFAC24A9D17EB5063' donde Usuario = 'root' AND Host = "127.0.0.1";
actualizar la contraseña establecida por el usuario = '* B845F78DCA29B8AE945AB9CFFAC24A9D17EB5063' donde Usuario = 'root' AND Host = "example.com ';
PRIVILEGIOS DE LAVADO;

Tres razones por las que esto es más ventajoso:

  1. Esto es más seguro. La contraseña en texto claro nunca está presente en ningún lugar de Linux.
  2. No tienes deshabilitar el registro binario.
  3. Aunque será visible en los registros binarios, ¿quién puede entender la salida encriptada MD5?

1
2018-02-22 19:57