2010-09-08 4 views
5

Je souhaite configurer phpMyAdmin pour qu'il accepte l'un des différents comptes d'utilisateur. Chaque utilisateur recevrait une base de données spécifique et n'y aurait accès que.Comment configurer phpMyAdmin pour plusieurs utilisateurs - chacun ayant uniquement accès à leur base de données

La configuration par défaut avec phpMyAdmin est un super utilisateur, par ex. root qui a accès à toutes les bases de données sur le serveur.

Je dois être en mesure de donner aux gens l'accès à certaines bases de données, mais pas toutes.

Pourriez-vous soit

  1. offre une solution
  2. commentaire sur mes résultats avec la solution existante ci-dessous qui devait être réglé pour fonctionner correctement

La solution suivante fonctionne - avec un supplément étape (décrite ci-dessous): http://alandoyle.com/tutorials/configuring-phpmyadmin-for-multiple-users/

Les étapes supplémentaires sont d'abord supposer que vous avez configuré un utilisateur mysql et un mot de passe, par ex. 'anotheruser' et associé cet utilisateur à une base de données, c'est-à-dire ajouté cet utilisateur à la liste des utilisateurs qui peuvent accéder à cette base de données. La deuxième étape supplémentaire consiste à réexécuter le bloc de requête SQL cité dans la page de la solution ci-dessus (après l'avoir déjà exécuté une fois, comme indiqué dans le texte original, à peu près comme indiqué utilisé)) mais cette fois pour l'utilisateur réel auquel vous souhaitez donner accès. Donc, si votre nom d'utilisateur est 'anotheruser', vous remplacez pma par anotheruser et pmapassword par le mot de passe d'un autre utilisateur.

Donc, avec toutes les instructions, cela semble fonctionner. Il semblerait alors que chaque fois qu'un nouvel utilisateur doit être ajouté, cette même requête SQL doit être exécutée pour le nouvel utilisateur. Mais l'impression que j'ai eu de la solution était qu'il s'agissait d'une requête SQL unique permettant d'ajouter un nombre illimité d'utilisateurs et de les ajouter aux bases de données via l'interface phpmyadmin. Pensées?

D'autres solutions ont examiné le SO (mais pas tout à fait ce que j'ai besoin):

+0

est-ce pas plutôt une question de super-utilisateur? – fuz

+0

Je l'ai fait sans effort particulier avant ... Je viens de créer un utilisateur de base de données et leur ai donné accès à une seule base de données. – Fosco

+1

@FUZxxl Je pense que c'est une question Stack Overflow parce que c'est une question développeur/programmeur. Les questions de super utilisateur sont pour (avancé, débutant, etc.) * utilisateurs fin * * * d'un ordinateur - les personnes qui utilisent un ordinateur, mais pas pour une activité de développement, ou qui utilisent un programme, des questions qui ne nécessitent pas connaissances en développement/programmation. – therobyouknow

Répondre

1

utilisent ce

$cfg['Servers'][$i]['auth_type'] = 'cookie'; 

à la place de

$cfg['Servers'][$i]['auth_type'] = 'config'; 

dans votre service config.inc.php et redémarrer ensuite processus d'authentification commencera pour tous les utilisateurs et ils peuvent travailler selon des subventions là-bas.

+0

Je vais vérifier cela et rendre compte. Merci pour votre contribution, désolé, il m'a fallu si longtemps pour répondre. – therobyouknow

0

Si vous souhaitez ajouter un hôte différent avec un utilisateur et un mot de passe définis, vous pouvez le faire en ajoutant les lignes suivantes sur le fichier config.inc.php

les premiers ensembles d'éléments de paramètre auth_type Cookie

$cfg['Servers'][$i]['auth_type'] = 'cookie'; 

et le second changement de conection comme config (incrément la variable i)

$i++; 
$cfg['Servers'][$i]['auth_type'] = 'config'; 
$cfg['Servers'][$i]['user'] = 'user'; 
$cfg['Servers'][$i]['password'] = 'password'; 
$cfg['Servers'][$i]['host'] = 'anotherhost'; 
$cfg['Servers'][$i]['connect_type'] = 'tcp'; 
Questions connexes