web-dev-qa-db-fra.com

La connexion pour controluser, telle que définie dans votre configuration, a échoué.

J'ai déjà examiné ceci mais depuis que je suis sous Ubuntu 10.04 au lieu de XAMPP et que j'ai déjà créé la base de données phpmyadmin, je peux me connecter via un terminal avec les utilisateurs root et phpmyadmin.

Comment j'ai installé: Sudo apt-get install lampe-serveur ^ Sudo apt-get install phpmyadmin

Je peux me connecter localement sur un terminal à l'aide des utilisateurs root et phpmyadmin . Je peux afficher la page de connexion phpmyadmin . Une page phpinfo.php que j'ai postée sur le serveur fonctionne.

  • Ubuntu Version 10.04.4 Lucid Lynx 
  • Apache 2.2.14
  • MySQL 5.1.73
  • PHP 5.3.6
  • Phpmyadmin 3.3.2
15
Spitfire19

Je me suis connecté avec succès en commutant le protocole sur TCP et en me connectant à "127.0.0.1" au lieu de "localhost" . Je ne parviens toujours pas à me connecter via Unix Socket même si le socket démon MySql est en cours d'exécution.

4
Spitfire19

Étant donné que vous pouvez vous connecter en tant qu'utilisateur controluser sur le terminal, il est fort probable que votre fichier de configuration ne contienne pas le nom d'utilisateur ou le mot de passe approprié pour l'utilisateur controluser.

Ouvrez config.inc.php dans votre éditeur de texte et examinez les lignes controluser et controlpass - assurez-vous qu'elles correspondent exactement au nom d'utilisateur et au mot de passe que vous utilisez avec succès. Essayez de commenter complètement ces deux lignes pour voir si vous obtenez un message d'erreur différent.

Si vous avez utilisé le gestionnaire de paquets pour l'installation, notez que les fichiers de configuration sont répartis dans /etc/phpmyadmin et que, si vous avez ajouté manuellement ces lignes, elles risquent d'être remplacées par un autre fichier de configuration. Essayez grep -Ri controluser /etc/phpmyadmin/* pour voir si cela apparaît dans plusieurs fichiers.

Puisque vous avez utilisé le gestionnaire de paquets, vous devriez le laisser gérer la configuration de la base de données. Essayez de supprimer toutes les modifications apportées aux fichiers de configuration et d'exécuter dpkg-reconfigure -plow phpmyadmin (il s'agit d'une commande Shell à exécuter à l'invite de commande); cela reconfigurera le paquet phpmyadmin et vous demandera si vous voulez autoriser dbconfig-common à créer les tables phpMyAdmin pour vous ainsi que pour controluser. 

12
Isaac Bennetch

Juste commentez la ligne:

$cfg['Servers'][$i]['Host'] = 'localhost';

Essayez-le.

8
bhansa

Problème possible: utilisateur mySQL mis à jour

Cela peut également se produire lorsque l'utilisateur avec lequel vous vous connectez, comme dans phpmyadmin, a été mis à jour dans MySQL. Je venais de l'avoir lors de la désinstallation/mise à jour/réinstallation de phpmyadmin et de la modification de certains paramètres MySQL en même temps. 

Correction de ce problème: mise à jour de config-db.php

Le correctif consiste à mettre à jour le fichier config-db.php avec les informations de connexion appropriées (nom d'utilisateur, mot de passe, etc.).

Dans Ubuntu 12.04, cela se trouve dans /etc/phpmyadmin/config-db.php.

Des instructions plus détaillées sont disponibles sur http://tehnoblog.org/phpmyadmin-error-connection-for-controluser-as-defined-in-your-configuration-failed/

6
SRDC

créer une base de données phpmyadmin

Fichier ouvert

  /etc/phpmyadmin/config-db.php

définissez le mot de passe root dans le fichier config-db.php.

$dbuser='root';
$dbpass='password'; // set current password between quotes ' '
$basepath='';
$dbname='phpmyadmin';
$dbserver='';
$dbport='';
$dbtype='mysql';

le problème sera résolu.

1
VipinS

Il y a 2 erreurs:

1. La connexion pour controluser, telle que définie dans votre configuration, a échoué
Solution:
une. Terminal ouvert: Sudo gedit /etc/phpmyadmin/config.inc.php

b. et décommentez les lignes suivantes (peut-être que les deux viendront 2 fois selon la version): $ cfg ['Servers'] [$ i] ['AllowNoPassword'] = TRUE;

c. et commentez les lignes suivantes (peut-être que les deux viendront 2 fois dépendent de la version): // $ cfg ['Servers'] [$ i] ['controluser'] = $ dbuser; // $ cfg ['Servers'] [$ i] ['controlpass'] = $ dbpass;

2. Accès refusé pour l'utilisateur 'root' @ 'localhost'  

Cela se produira lorsque vous ouvrirez phpmyadmin ou quand vous ouvrirez mysql sur un terminal sans la commande Sudo (et non depuis l’utilisateur root). Cette erreur est due à l'utilisateur root. La raison derrière cette erreur est que votre utilisateur Ubuntu actuel n’a pas de previlages pour ouvrir mysql dans un terminal. Si vous ouvrez mysql avec la commande Sudo, il s'ouvrira mais ne s'ouvrira pas de votre utilisateur actuel. Par exemple:

lenovo @ lenovo-ThinkPad-E460:/etc $ mysql -u root -p Entrez le mot de passe: ERROR 1698 (28000): Accès refusé pour l'utilisateur 'root' @ 'localhost'

Ici, l'utilisateur actuel d'ubuntu est lenovo. Vous devez donc donner des autorisations à votre utilisateur root .

1 - Connectez-vous d'abord dans Sudo mysql

Sudo mysql -u root

2 - Vérifiez vos comptes présents dans votre base de données

SELECT utilisateur, hôte de mysql.user;

+ ------------------ + ----------- + 
 | Utilisateur | Hôte | 
 + ------------------ + ----------- + 
 | admin | localhost | 
 | debian-sys-maint | localhost | 
 | magento_user | localhost | 
 | mysql.sys | localhost | 
 | racine | localhost |

3 - Supprimer le compte root @ localhost actuel

mysql> DROP USER 'racine' @ 'localhost'; Requête OK, 0 lignes affectées (0,00 s)

4 - Recréez votre utilisateur

mysql> CREATE USER 'racine' @ '%' IDENTIFIED BY ''; ;__. Requête OK, 0 ligne affectée (0,00 s)

5 - Donnez des permissions à votre utilisateur et n'oubliez pas de vider vos privilèges

mysql> DONNEZ TOUS LES PRIVILEGES SUR . TO 'root' @ '%'; Requête OK, 0 ligne affectée (0,00 s)

mysql> FLUSH PRIVILEGES; Requête OK, 0 ligne affectée (0,01 seconde)

6 - Quittez mysql et essayez de vous reconnecter sans Sudo

J'espère que cela aidera. Et maintenant, vous pouvez ouvrir phpmyadmin sans mot de passe.

1
alok

Si vous êtes sur Windows avec xammp, allez à C:\xammp\phpMyAdmin\ config.inc, ouvrez-le et localisez cette ligne, assurez-vous maintenant

/* User for advanced features*/
$cfg['servers'][$i]['controluser'] = 'pma';
$cfg['servers'][$i]['controlpass'] = '';

et le nom d'utilisateur et le mot de passe utilisateur pma dans la base de données phpMyAdmin sont les mêmes

Lisez la documentation phpmyadmin

0
fidelmcscort

Tout d’abord, assurez-vous que vous avez la bonne username & password dans ce fichier:

/etc/dbconfig-common/phpmyadmin.conf

Comme indiqué dans /etc/phpmyadmin/config-db.php:

## database access settings in php format
## automatically generated from /etc/dbconfig-common/phpmyadmin.conf
## by /usr/sbin/dbconfig-generate-include

Ces username & password sont utilisés pour accéder au phpmyadmin database.
Ainsi, phpmyadmin database devrait avoir une user avec le même nom et le même mot de passe attribué avec au moins Database-specific privileges

Cela l'a résolu pour moi ....

Sur:

  • Serveur: Localhost via socket UNIX
  • Type de serveur: MySQL
  • Version du serveur: 5.7.16 - MySQL Community Server (GPL)
0
Jadeye

Dans mon cas, j'utilise une connexion socket. En définissant $ cfg ['Servers'] [$ i] ['controlhost'] = ''; (pour vider) le message 'Échec de la connexion pour controluser tel que défini dans votre configuration' a disparu. Je pense que la raison en est que si vous définissez 'controlhost', phpMyAdmin tente d'établir une nouvelle connexion à la base de données, négligeant ainsi le socket.

Dans le code, vous trouvez:

          if (! empty($cfg['Server']['controlhost'])
            || ! empty($cfg['Server']['controlport'])

À la fin du bloc if, une nouvelle connexion est établie.

0
jvenderb