Pregunta

Todavía estoy jugando con mi propio DB tratando de aprender y vi esto:

enter image description here

  1. Podría cambiar la contraseña de root sin ningún problema ... Si estoy en el servidor, puedo crear un algoritmo para comenzar a probar la contraseña y algún día la encontraré, quiero decir:

    Web-Services-iMac-2:~ jbolivar$ mysqladmin -utest1 -p**SOME_THING_HERE** password test1.

  2. ¿Está bien cambiar la contraseña usando esto?

    Tabla de actualización mysql.user establecer contraseña =CLAVE('prueba') donde user = 'test1';

Además de eso, si creo una tabla de diccionario (una tabla con todas las palabras posibles) y aplico CLAVE("Palabra") Puedo hacer una unión y encontrar el valor de cualquier pase, ¿verdad? ¿Puedes darme tu opinión sobre mi análisis?

¿Fue útil?

Solución

Antes de continuar jugando con MySqladmin, debe asegurarse de que su instalación no esté regalando intencionalmente el acceso.

Para empezar, ¿puedes iniciar sesión en MySQL así?

# mysql <hit enter>

Si puede obtener así, ejecute este comando:

SELECT USER(),CURRENT_USER();
  • USUARIO() informa cómo intentó autenticarse en MySQL
  • USUARIO ACTUAL() informa cómo se le permitió autenticarse en MySQL

Si Current_User () devuelve un usuario y un host donde el usuario está en blanco, entonces se le permitió entrar como usuario anónimo. En ese momento, puede eliminar a los usuarios de Anonymou con esto:

DELETE FROM mysql.user WHERE user='';
FLUSH PRIVILEGES;

Ahora, localice a todos los usuarios sin contraseña con esto:

SELECT user,host,password FROM mysql.user;

Si algún usuario no tiene contraseña, puede emitir nuevas contraseñas para el usuario que usa mysqladmin o simplemente puede asignarlas de la siguiente manera:

UPDATE mysql.user SET password=PASSWORD('whateverpassword') WHERE user='...' AND host='...';
FLUSH PRIVILEGES;

Ahora, verifique los usuarios remotos

SELECT user,host FROM mysql.user WHERE host='%';

Si ve alguno, ejecute esto:

DELETE FROM mysql.user WHERE host='%';
FLUSH PRIVILEGES;

Asegúrese de que cuando todo esté dicho y hecho eso al menos root@localhost y/o root@127.0.0.1 existe y tenga una contraseña

SELECT user,host,password FROM mysql.user WHERE user='root';

Probablemente podría continuar. Aquí hay otras publicaciones que tengo sobre cosas como esta:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top