Comment changer le mot de passe root pour mysql et phpmyadmin

41

J'ai installé mysql et phpmyadmin et j'ai choisi de ne pas définir de mot de passe lors de l'installation en espérant qu'une fois installé, je pourrais me connecter avec un mot de passe root mais sans mot de passe, mais j'obtiens le message d'erreur suivant de phpmyadmin:

Login without a password is forbidden by configuration (see AllowNoPassword)

J'ai déjà déplacé le dossier phpmyadmin vers /var/www/

J'ai essayé de changer la ligne suivante

$cfg['Servers'][$i]['AllowNoPassword'] = false;

à

$cfg['Servers'][$i]['AllowNoPassword'] = true;

mais je n’ai toujours pas eu de succès, alors je me demande s’il est possible de changer les mots de passe root pour pouvoir accéder à phpmyadmin et créer des bases de données.

Jon
la source

Réponses:

59

Vous pouvez changer le mot de passe root mysql en vous connectant directement à la base de données ( mysql -h your_host -u root) puis en exécutant

SET PASSWORD FOR root@localhost = PASSWORD('yourpassword');

phpmyadmin doit utiliser ce mot de passe afin de ne pas savoir exactement ce que vous entendez par "pour les deux".

Assurez-vous de définir le nouveau mot de passe dans phpmyadmin config.inc.phpaussi, à la ligne

$ cfg ['Servers'] [$ i] ['password'] = 'votre mot de passe';
Sinon, phpmyadmin risque de ne pas fonctionner, en écho

Accès refusé pour l'utilisateur 'utilisateur' @ 'localhost' (avec mot de passe: YES)
geermc4
la source
1
Merci, je ne savais pas si je devais définir un mot de passe pour les deux, car je n’avais utilisé que WAMP par le passé.
Jon
Où puis-je trouver config.inc.php?
Hrvoje T
2
Ok, je l’ai trouvé, mais il n’ya pas de ligne `$ cfg ['Servers'] [$ i] ['password'] = 'yourpassword';
Hrvoje T
1
généralement, le fichier config.inc.php se trouve dans /etc/phpmyadmin/config.inc.php
Jostino
27

Cela dépend de votre configuration. Suivez les instructions ci-dessous pour reconfigurer phpmyadmin et réinitialiser le mot de passe MySQL.

  1. Ctrl + Alt + T pour lancer le terminal
  2. sudo dpkg-reconfigure phpmyadmin
  3. Méthode de connexion pour la base de données MySQL pour phpmyadmin: unix socket
  4. Nom de l'utilisateur administratif de la base de données: root
  5. Mot de passe de l'utilisateur administratif de la base de données: mysqlsamplepassword
  6. Nom d'utilisateur MySQL pour phpmyadmin: root
  7. Nom de la base de données MySQL pour phpmyadmin: phpmyadmin
  8. Serveur Web à reconfigurer automatiquement: apache2
  9. ERREUR 1045
  10. ignorer
  11. sudo dpkg-reconfigure mysql-server-5.5
  12. Nouveau mot de passe pour l'utilisateur "root" de MySQL: mysqlsamplepassword
  13. Répéter le mot de passe pour l'utilisateur MySQL "root": mysqlsamplepassword
  14. Après tout cela, exécutez la commande suivante sur le terminal pour sécuriser votre serveur mysql. sudo mysql_secure_installation

  15. Entrez le mot de passe actuel pour root (entrez pour aucun): mysqlsamplepassword

  16. Changer le mot de passe root? [Y / n] n
  17. Supprimer les utilisateurs anonymes? [Y / n] y
  18. Interdire la connexion root à distance? [Y / n] y
  19. Supprimer la base de données de test et y accéder? [Y / n] y
  20. Recharger les tables de privilèges maintenant? [Y / n] y

J'espère que ça aide!

Bonne journée!

Amigo Chan
la source
Le mot de passe MySQL peut aussi être changé en utilisant sudo mysql_secure_installation.
user2513149
12

Je suis récemment tombé sur le même problème, Ubuntu 12.04. Je n'arrivais tout simplement pas à me connecter avec root et sans mot de passe. Je règle le paramètre AllowNoPassword sur TRUE dans la configuration. Plus tard, j'ai découvert que je modifiais le mauvais fichier config.inc.php pour ajouter le paramètre AllowNoPassword.

Edit:
/etc/phpmyadmin/config.inc.php
Not:
/usr/share/phpmyadmin/config.inc.php

Je crois que le premier est le fichier de configuration local debian, qui remplacera la version usr.

jjwdesign
la source