J'essaie d'utiliser 2 des utilitaires mysql, mysqldiff et mysqldbcompare et je veux éviter de mettre mon mot de passe sur la ligne de commande
Est-il possible d'utiliser un fichier d'options pour spécifier le mot de passe de ma connexion à la base de données afin de ne pas devoir le spécifier?
C'est le genre de commande que j'ai actuellement ...
/usr/share/mysql-workbench/python/mysqldiff --server1=root@localhost --server2=root@localhost --difftype=sql db1:db2
J'ai aussi un fichier à ~/.my.cnf qui a les autorisations "600" et contient les éléments suivants.
[client]
user=root
password=mypassword
Lorsque je me connecte via la ligne de commande à MySQL, il récupère les détails dans mon fichier d'options, mais les utilitaires mysql ne le font pas: - /
Essaye ça -
[client]
user=root
password="pass"
[mysql]
user=root
password="pass"
[mysqldump]
user=root
password="pass"
[mysqldiff]
user=root
password="pass"
Emplacement pour .my.cnf: ~/.my.cnf
Veuillez vous reporter à la page de manuel intitulée tilisation de fichiers d’option
Pour améliorer la réponse de @ Retraut, obtenez vos mots de passe entre guillemets. La réponse acceptée ne fonctionnerait pas si votre mot de passe contient des caractères spéciaux, ce qui en passant est une bonne pratique de sécurité.
[client]
user=root
password="p@$$"
[mysql]
user=root
password="p@$$"
[mysqldump]
user=root
password="p@$$"
[mysqldiff]
user=root
password="p@$$"
http://dev.mysql.com/doc/refman/5.7/en/option-files.html
Recherchez "Voici un fichier d’options utilisateur typique:" et voyez l’exemple qu’il indique. Bonne chance et j'espère gagner du temps à quelqu'un d'autre.