J'utilise actuellement ce qui suit mais il m'invite TOUJOURS à taper manuellement le mot de passe. Existe-t-il un moyen de le transmettre sur la ligne de commande lors du lancement de l'exécutable?
mysqladmin processlist -u root -p
J'utilise actuellement ce qui suit mais il m'invite TOUJOURS à taper manuellement le mot de passe. Existe-t-il un moyen de le transmettre sur la ligne de commande lors du lancement de l'exécutable?
mysqladmin processlist -u root -p
Réponses:
Je viens de découvrir la réponse ...
mysqladmin processlist -u root -pYOURPASSWORDHERE
Pas d'espace entre votre mot de passe et le -p
-p'YOURPASSWORD HERE'
-h localhost
et -u root
mais pas -pPASSWORD
. Les programmeurs classiques rendent tout plus difficile que nécessaire.
-uroot
fonctionne bien
Essayer:
--password=PasswordTextHere
Cela devrait fonctionner: mysql -uroot -p'password'
Si vous essayez d'automatiser la solution mysql, vous pouvez utiliser le mot de passe de la variable:
mysql_pass=$(sudo grep -oP "temporary password is generated for root@localhost: \K(.*)" /var/log/mysqld.log)
mysql -uroot -p"$mysql_pass" < somescript.sql
export MYSQL_PWD=muhpassword
) et exécutez votre commande sans l' extension-p
. Voir Variables d'environnement du programme MySQL . Malgré les terribles avertissements du manuel , c'est plutôt sûr . À moins que vous ne lanciez des warez étranges dans le même shell qui pourrait aspirer votre environnement et l'envoyer à darkaspirator.cc.