Vous avez perdu le mot de passe de votre serveur mysql ? c'est mal...

vous pourrez peut être vous en sortir en lisant ces quelques lignes.

Commencer par arrêter le serveur mysql :

/etc/init.d/mysql stop

Créer un fichier init qu'on utilisera au prochain lancement :

echo "SET PASSWORD FOR root@localhost=PASSWORD('nouveau-mot-de-passe');" > /root/mysql-init

Redémarrage en mysql-safe avec l'utilisation du fichier init :

mysqld_safe --init-file=/root/init &

Et maintenant il ne vous reste plus qu'à killer le processus mysqld_safe que vous avez lancé et redémarrer correctement le serveur Mysql.

kill -9 `pidof mysqld_safe`
/etc/init.d/mysql start

Pensez bien à supprimer le fichier /root/init !

Pour les versions plus anciennes (Mysql 3.x) :

Procéder comme ceci :

On suppose le serveur Mysql démarré, arrêter le :

/etc/init.d/mysql stop

Il faut ensuite relancer mysql avec l'option pour qu'il ne prenne pas les mots de passe en compte :

/usr/sbin/mysqld --skip-grant-tables &

Connectez vous à votre serveur normalement (sans mot de passe) :

mysql -u root mysql

Et réinitialisé le mot de passe :

SET PASSWORD FOR root@localhost=PASSWORD('nouveau-mot-de-passe');

Voila :) si vous avez d'autre méthode n'hésitez pas.