enregistrer les connexions mysql

7

Je dois me connecter à plusieurs bases de données MYSQL sur différents hôtes via mysql cli. est-il possible de sauvegarder ces identifiants pour ne pas avoir à suivre / mémoriser les informations d'identification?

Veilig
la source
1
vous connectez-vous au port réseau mysql ou à ssh et connectez-vous à la base de données localement?
RobotHumans
1
Voir dba.stackexchange.com/questions/3889/… pour un moyen plus simple de le faire avec le ~/.my.cnffichier par défaut et mysql --defaults-group-suffix.
Jim Stewart

Réponses:

11

Sur la base d'une discussion à l' adresse http://bugs.mysql.com/bug.php?id=17627, j'utilise la méthode suivante pour me connecter automatiquement à différents serveurs mysql:

Fichier /path/to/mon-hôte1- cnf.txt

[client]
host="hostname1"
user="username1"
password="password1"
database="database1"

Fichier /path/to/mon-hôte2-cnf.txt

[client]
host="hostname2"
user="username2"
password="password2"
database="database2"

Connectez-vous à host1, database1 avec les informations d'identification enregistrées ci-dessus:

mysql --defaults-file="/path/to/my-host1-cnf.txt"

Connectez-vous à host2, database2 avec les informations d'identification enregistrées ci-dessus:

mysql --defaults-file="/path/to/my-host2-cnf.txt"

J'espère que cela t'aides :-)

Mister_Tom
la source
1
Cela ressemble peut-être à ce dont j'ai besoin. Merci!
Veilig
4

Vous pouvez toujours créer un alias

alias db1='mysql -uUsername1 -pPasswordSecure1 -hHosname1 DatabaseName1'
alias db2='mysql -uUsername2 -pPasswordSecure2 -hHosname2 DatabaseName2'

etc..

Et les mettre dans votre

.bash_aliases

.barsh_profile

ou

.bash_rc

Mais cela ne résout pas le problème de sécurité! Même si vous mettez une "bonne" permission sur vos fichiers bash, cela ne veut pas dire que ce n'est pas du texte brut :(

sobi3ch
la source
Ce n'est pas sûr! "Cela est pratique mais non sécurisé. Sur certains systèmes, votre mot de passe devient visible pour les programmes d'état du système tels que ps qui peuvent être appelés par d'autres utilisateurs pour afficher les lignes de commande." dev.mysql.com/doc/refman/5.1/fr/password-security-user.html
geofflee
Mettre votre mot de passe en clair n'est jamais une bonne idée. Même si vous sécurisez vos fichiers, il s'exécutera toujours comme une commande qui apparaîtra dans ps auxvotre .bash_history, etc.
blockloop