web-dev-qa-db-fra.com

Comment définir le schéma par défaut pour un utilisateur dans MySQL

Est-il possible de définir un schéma par défaut pour chaque utilisateur dans MySQL et si oui comment? Où utilisateur x utiliserait par défaut schéma y et utilisateur z utiliserait par défaut schéma a.

42
Robert Louis Murphy

Il n'y a pas de base de données par défaut pour l'utilisateur. Il existe une base de données par défaut pour la session en cours.

Vous pouvez l'obtenir en utilisant la fonction DATABASE () -

SELECT DATABASE();

Et vous pouvez le définir en utilisant l'instruction USE -

USE database1;

Vous devriez le régler manuellement - USE db_name, ou dans la chaîne de connexion.

67
Devart

Si votre utilisateur a un dossier local, par exemple Linux, dans le dossier d’accueil de vos utilisateurs, vous pouvez créer un fichier .my.cnf et fournir les informations d’accès permettant d’accéder au serveur. par exemple:-

[client]
Host=localhost
user=yourusername
password=yourpassword or exclude to force entry
database=mygotodb

Mysql ouvrirait alors ce fichier pour chaque compte d'utilisateur lu les informations d'identification et ouvrirait la base de données sélectionnée.

Pas sûr sous Windows, j'ai mis à niveau à partir de Windows car j'avais besoin de toute la maison, pas seulement des fenêtres (Linux), il y a quelque temps.

16
Gary