Wamp MySQL - mot de passe perdu

  comment regénérer son mot de passe

Vous pourriez rencontrer plusieurs soucis de mots de passe autour de SPIP, surtout en installations locales...

Voici un rapide récapitulatif de quelques astuces utiles !

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 Mot de passe de connexion SPIP oublié

C’est la panne la plus fréquente, qui est normalement [1] résolu immédiatement, grace au formulaire spécifique spip.php?page=spip_pass qui vous demande de rentrer l’email voulu, pour y envoyer un lien de changement de mot de passe...

Mais, au contraire des autres CMS, il ne faut pas trop espérer régénérer le mot de passe directement au sein de la BDD : le mot de passe de connexion utilisateur n’y est évidemment pas inscrit en clair ; et meme si vous avisez le champ pass concerné de la table spip_auteurs, il est codé en binaire, et pas simplement par un hash md5, mais avec un sel aléatoire regénéré à chaque connexion, lors du dialogue de validation de la connexion.
Si vous n’avez pas accès au mail, il faut au moins avoir accès au FTP, pour regénérer (sans pertes !) le fichier connect.php de liaison avec la base de données dans le dossier ./config/...

 Et le mot de passe MySQL

Cela peut arriver de l’oublier /le perdre/, surtout avec les nouvelles versions de Wamp et Adminer, qui exigent de mettre un mot de passe pour autoriser la connexion au SGBD.
Si on veut appliquer le même raisonnement que plus haut, il faudrait aller consulter la table système user de la base système mysql... facile, sauf que si vous n’avez pas le mot de passe de connexion (root) à MySQL, vous ne pouvez pas lancer Adminer ou phpmyadmin pour visualiser et modifier cette information.....

Alors, il faut repasser par la ligne de commande pour lancer l’exécutable mysqlda la mano’ pour passer des commandes ... Un article d’otomatic rappelle la procédure, sauf que les lignes à taper sont plutôt longues et indigestes ; j’en ai fait un fichier batch tout prêt = juste deux paramètres à repréciser dans le script.

Visualisation du Script de Commande DOS/Windows

Deux possibilités vous sont proposées pour regénérer vos accès SQL :
- forcer un nouveau mot de passe pour le user root (supposé existant),
- vous créer un nouveau user tout-puissant toto sans password :

Visualisation des Commandes SQL

Vous pouvez obtenir l’ensemble des fichiers présentés ci-dessus (au sein d’un ZIP), à extraire par xeemple dans la racine de votre dossier Wamp (ou EasyPHP), ou bien télécharger individuellement :
- le script de commandes DOS appelant MySQL (et lui passant le .txt ci-dessous)
- le fichiers de commandes SQL forçant les accès !
Attention aux extensions des noms de fichiers en Windows .bat ou .cmd pour le premier (éventuellement cachées par Windows) et .txt ou .sql ; le téléchargement peut automatiquement rajouter une xtension .txt supplémentaire, vous serez plus précis avec l’extraction de l’archive .zip !
Bien sur vous adapterez à votre contexte et besoins, les scripts de commandes [2], en les ouvrant avec le Bloc-notes de Windows, ou vos Editeurs du WebMestre PC favori.

Nota Bene : L’astuce -et le script- s’applique aussi à EasyPHP ; toutefois, les arborescences du serveur différent bien plus selon les versions, et nous vous laissons le soin d’adapter les fichiers fournis !

 MySQL ou MySQLi /vieilles versions

Encore un truc ! Si vous essayez de recharger de vieilles versions de SPIP (disons une SPIP 2.1.18) sur votre WampServer, vous risquez de ne pas comprendre pourquoi l’installateur SPIP trouve seulement SQlite3 et pas MySQLau moment de choisir le systeme de BDD à l’installation de SPIP [3] ?
PHP étant régulièrement amélioré, a changé son interface avec MySQL ! Les anciennes versions SPIP ne reconnaissent pas MySQLi et nécessitent que votre serveur Apache active aussi l’extension originelle mysql : dans le fichier php.ini (situé dans Apache/apache2.4.9/bin/..) retirez le ; devant la ligne ;extension=php_mysql.dll (approximativement vers l’étage [875]) et relancez WampServer.

Autre point de vigilance éventuelle : l’encodage UTF ou latin_general_ci de vos textes d’articles dans la base de données....
Si vos articles sont tronqués (au niveau d’une première lettre accentuée), vous avez gagné le droit de recharger et converti votre base en UTF : cela n’est proposé que dans les versions SPIP 2 !
Verifiez l’encodage de votre base avec PhpMyAdmin :

Attention, si le plugin Grenier pour SPIP 3 propose d’utiliser la commande ?exec=base_convert_sql_utf8, il fallait en SPIP 2 utiliser la commande ?exec=convert_sql_utf8, comme ci-dessous :
Fin de la conversion en UTF8 (Spip 2.1.18)
Voyez la différence obtenue (à droite !).


Merci de nous signaler les coquilles ou erreurs qui figureraient dans cette page.

[1A condition d’avoir un envoi de mails configuré et opérationnel, ce qui n’est pas le cas sous Wamp/EasyPHP sur Windows !

[2Il faut paramétrer le dossier racine SET Wamp_dir= de votre serveur Web (EasyPHP ou Wamp), puis préciser le dossier de la version SET MYSQLv= MySQL activée : on suppose bien que votre dossier Wamp_dir ne comporte pas un nom avec espaces !

[3Pourtant PhpMyAdmin fonctionne bien ! et l’extension mysql semble activée dans le menu interactif de WampServeur / PHP / Extensions PHP ??


Liens visibles seulement pour les inscrits.

Article publié le 26 novembre, et actualisé en novembre 2018 .

Répondre à cet article