Question

Je joue toujours avec mon propre DB essayer d'apprendre et a vu ceci:

entrer image description ici

  1. Je pourrais changer le mot de passe root sans aucun problème du tout ... Si je suis dans le serveur je peux créer un algorithme pour commencer à tester le mot de passe et un jour et je trouverai, je veux dire:

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

  2. est-il autorisé à changer mot de passe en utilisant ce ???:

    Tableau mise à jour mysql.user set password = Mot de passe ( 'test') où user = 'test1';

à côté que si je crée une table dictionnaire (une table avec tous les mots possibles) et appliquer MOT DE PASSE ( « mot ») Je peux faire une jointure et trouver la valeur de tout passe, droit ?. Pouvez-vous me donner votre avis sur mon analyse?

Était-ce utile?

La solution

Avant de continuer à jouer avec mysqladmin, vous devez vous assurer que votre installation ne donne pas intentionnellement accès loin.

Pour commencer, pouvez-vous vous connecter à mysql comme ça?

# mysql <hit enter>

Si vous pouvez obtenir juste comme ça, exécutez la commande suivante:

SELECT USER(),CURRENT_USER();

Si CURRENT_USER () retourne un utilisateur et hôte où l'utilisateur est vide, vous laissiez en tant qu'utilisateur anonyme. À ce moment, vous pouvez supprimer anonymou utilisateurs avec ceci:

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

Maintenant, recherchez tous les utilisateurs sans mot de passe avec ceci:

SELECT user,host,password FROM mysql.user;

Si des utilisateurs ont aucun mot de passe, vous pouvez émettre de nouveaux mots de passe pour l'utilisateur en utilisant mysqladmin ou vous pouvez simplement les affecter comme suit:

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

Maintenant, vérifiez pour les utilisateurs distants

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

Si vous voyez, exécutez ceci:

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

Assurez-vous que quand tout est dit et fait au moins root @ localhost et / ou root@127.0.0.1 existent et ont un mot de passe

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

Je pourrais probablement continuer. Voici d'autres messages que j'ai sur des choses comme ceci:

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top