Skip to content

Comment changer un mot de passe Mysql oublié


Mysql ServerCa peut arriver d’oublier le mot de passe root de mysql, ou reprendre en main un serveur d’un ancien administrateur ayant quitté l’entreprise un peut rapidement. Donc je vous présente ici comment changer le mot de passe root d’un serveur mysql.

Première chose, on arrête mysql :

/etc/init.d/mysql stop

Ensuite redémarrez mysql avec l’option skip-grant-tables pour désactiver les logins/pass, et skip-networking pour éviter les connexions TCP/IP. Note : attention lors de cette commande, n’importe quelle personne ce connectant à l’aide des sockets aura un accès total à la base!!

/usr/sbin/mysqld –skip-grant-tables –skip-networking –user=root &

Ensuite connectez vous avec le client mysql

mysql Welcome to the MySQL monitor.  Commands end with ; or \\g. 
Your MySQL connection id is 330933 
Server version: 5.0.38 
Type 'help;' or '\\h' for help. 
Type '\\c' to clear the buffer. 
mysql>

Sélectionnez la base mysql ou sont inscrit les tables des privilèges

mysql> USE mysql 
Reading table information for completion of table and column names 
You can turn off this feature to get a quicker startup with -A 
Database changed

Tapez ensuite la commande suivante en remplaçant “password” par celui souhaité :

mysql> UPDATE user     
-> SET password=password("password")     
-> WHERE user="root"; 
Query OK, 2 rows affected (0.00 sec) 
Rows matched: 2  Changed: 2  Warnings: 0

Appliquez les changements de privilèges :

mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec)

Sortez du client mysql:

mysql> exit

Redémarrez le serveur :

/etc/init.d/mysql restart
Published inArticles

16 Comments

  1. element131 element131

    merci !

    mais autre petite question , dans le meme type : comment donner les droit de connection a partir d’un autre poste @% ..; ?

  2. Merci! Vous venez de me faire gagner beaucoup de temps je crois 🙂

  3. mike mike

    salut

    dans quel fichier de conf le mot de passe et les utilisateurs sont notés?

  4. merci!
    mais là je m’aperçois qu’on peut changer le mdp du compte root de MySql sans être root du système linux, ce n’est pas très sécurisé tout ça :/

  5. Comment changer un mot de passe Mysql oublié

    Copie du billet Comment changer un mot de passe Mysql oublié de Johann Denoyer Ca peut arriver d’oublier le mot de passe root de mysql, ou reprendre en main un serveur d’un ancien administrateur ayant quitté l’entreprise un peut rapidement. Donc je…

  6. @Fred : il faut être root pour arrêter le processus et le redémarrer en bypassant les sécurité et réseau 🙂

  7. Bonjour,
    Je dois être retardé ou quelque chose dans le genre parce que j’ai fait plusieurs forums mais une information très basique me manque.
    Quand vous dites “faire /etc/init.d/mysql stop” je le fais où ça? j’ouvre un ficher texte je tape ça et je le met dans mon serveur? ou je le tape dans les commandes SQL de PHPmyadmin? ou bien je dois l’exécuter dans Terminal? C’est peut être le chemin d’un fichier qui est dans l’arborescence de mon serveur??? C’est pas toujours évident d’être autodidacte……..
    Tout éclaircissement sera très apprécié!!!
    William

  8. Bonjour Billy,

    cette commande doit être lancé en ligne de commande sur ton serveur linux.
    Si tu as besoin d’une presta, n’hésite pas à me contacter par email (en haut à droite)

    Johan

  9. billy billy

    Merci Johan!
    J’irai me coucher moins bête!!!!!
    a++

  10. Aspic Aspic

    Bonsoir
    j’ai suivis toutes les instructions mais je suis bloqué au moment où il faut rentrer la requête UPDATE user…, cela me retourne une erreur de ce style là : ERROR 1054 (42S22): Unknown column ‘usr’ in ‘where clause’.
    j’espere que quelqu’un a solution.

  11. zetler zetler

    Bonjour.

    Je dois être encore moins doué que Billy, car je n’arrive vraiment pas à rétablir le mot de passe…En clair, je ne comprends pas la phrase: cette commande doit être lancé en ligne de commande
    Johan, help..Peux-tu, s’il te plait, me décryper la phrase en question? Est-ce dans une url que l’on doit agir? Si oui, laquelle?
    Un énorme MERCI !

    Laurent

  12. Il faut être connecté sur ton serveur en ssh ou en console pour taper ces commandes!

  13. akipok akipok

    slt
    je cherche a savoir le mot de passe de ma mere qui en a mis un sur mon ordi
    comment faire
    merci

  14. salut. je traine ce problème depuis un moment. A la rencontre de ta solution, dès que j’ai essayé la première ligne, voici le message affiché:
    “Rather than invoking init scripts through /etc/init.d, use the service(8)
    utility, e.g. service mysql stop

    Since the script you are attempting to invoke has been converted to an
    Upstart job, you may also use the stop(8) utility, e.g. stop mysql
    stop: Rejected send message, 1 matched rules; type=”method_call”, sender=”:1.61″ (uid=1000 pid=3270 comm=”stop) interface=”com.ubuntu.Upstart0_6.Job” member=”Stop” error name=”(unset)” requested_reply=0 destination=”com.ubuntu.Upstart” (uid=0 pid=1 comm=”/sbin/init”))”

  15. Tu peux en effet utiliser la commande :

    “stop mysql” à la plate de “/etc/init.d/mysql stop”
    “stop mysql” puis “start mysql” à la place de “/etc/init.d/mysql restart”

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.