Documentation / Un utilisateur de base de données pour plusieurs bases

Un utilisateur de base de données pour plusieurs bases

Une application qui utilise deux bases de données — une principale et un schéma distinct pour un back-office, par exemple — n'a pas besoin de deux identifiants. Accordez à un seul utilisateur l'accès aux deux.

Donner à un utilisateur une autre base de données

Bases de données → Utilisateurs de bases de données → sur la ligne de l'utilisateur, Ajouter une base de données.

On vous demande le nom court de la base (shop, pas youracct_shop). L'utilisateur conserve son mot de passe existant et son accès existant ; la nouvelle base lui est ajoutée.

Chaque ligne de ce tableau montre ce que l'utilisateur peut actuellement atteindre :

app        Databases: shop, admin        Access: localhost only

Un utilisateur qui n'a encore rien affiche aucune base de données pour l'instant.

En retirer une

Même ligne, Retirer une base de données. Le bouton apparaît dès que l'utilisateur détient au moins une base. On vous demande laquelle, et elle est préremplie lorsqu'il n'y en a qu'une à choisir.

Retirer une base de données d'un utilisateur ne supprime pas l'utilisateur, et ne touche pas à la base. L'utilisateur conserve son mot de passe et toutes les autres bases qu'il détient. C'est là tout l'intérêt : avant que cela n'existe, le seul moyen de retirer un accès était de supprimer l'utilisateur, ce qui cassait chaque site qui s'y connectait encore.

Bon à savoir avant de l'utiliser

  • L'accès est accordé une base à la fois. Un utilisateur ne reçoit jamais un accès général au serveur ; chaque octroi nomme une seule de vos bases.
  • Vous pouvez retirer le dernier utilisateur d'une base. Rien ne vous en empêche, et rien ne vous avertit. La base et son contenu subsistent, mais aucun identifiant ne peut l'atteindre tant que vous n'en accordez pas un à nouveau — ce qui est le remède si un site signale soudain qu'il ne peut pas se connecter.
  • Les noms portent le préfixe de votre compte. Une base que vous créez sous shop est youracct_shop sur le serveur, et un utilisateur app est youracct_app. Tapez le nom court dans le panneau et le nom complet dans la configuration de votre application.
  • Uniquement vos propres bases et utilisateurs. Un octroi nommant la base d'un autre compte est refusé. Une révocation aussi.

En configurer un de zéro

  1. Bases de données → Créer une base de données, deux fois — par exemple site et admin.
  2. Créer l'utilisateur & connecter : nommez l'utilisateur, choisissez site dans la liste déroulante. C'est le premier octroi.
  3. Sur la ligne du nouvel utilisateur, Ajouter une base de données, et saisissez admin.

Copiez le mot de passe lorsqu'il est affiché. Le panneau le stocke sous une forme qu'il ne peut pas relire, un mot de passe perdu est donc réinitialisé, non récupéré — c'est Mot de passe sur la même ligne.

Quand quelque chose semble anormal

« Aucune base de données de ce nom pour ce compte. » Le nom a été mal saisi, ou vous avez entré la forme préfixée. Utilisez le nom court tel qu'il apparaît dans le tableau Bases de données ci-dessus.

« Aucun utilisateur de base de données de ce nom pour ce compte. » La liste des utilisateurs sur la page est périmée. Rechargez-la.

L'application se connecte à une base mais pas à l'autre. Vérifiez que la ligne liste bien les deux sous Databases, et que l'application utilise le nom préfixé (youracct_admin) et le même hôte — localhost sauf si vous avez configuré des Hôtes distants pour cet utilisateur.

Un octroi semble sans effet depuis une machine distante. Les octrois ajoutés ici s'appliquent à la connexion locale. Si cet utilisateur se connecte aussi depuis une adresse extérieure, ré-enregistrez sa liste d'Hôtes distants après l'octroi, afin que l'entrée distante soit mise à jour avec les bases que l'utilisateur détient désormais.