Ich verwende derzeit Folgendes, aber es fordert mich IMMER auf, das Kennwort manuell einzugeben. Gibt es eine Möglichkeit, es beim Starten der ausführbaren Datei in der Befehlszeile zu übergeben?
mysqladmin processlist -u root -p
Ich verwende derzeit Folgendes, aber es fordert mich IMMER auf, das Kennwort manuell einzugeben. Gibt es eine Möglichkeit, es beim Starten der ausführbaren Datei in der Befehlszeile zu übergeben?
mysqladmin processlist -u root -p
Antworten:
Habe gerade die Antwort herausgefunden ...
mysqladmin processlist -u root -pYOURPASSWORDHERE
Kein Leerzeichen zwischen Ihrem Passwort und dem -p
-p'YOURPASSWORD HERE'
-h localhost
und -u root
aber nicht -pPASSWORD
. Klassische Programmierer machen alles schwieriger als nötig.
-uroot
funktioniert gut
Versuchen:
--password=PasswordTextHere
Das sollte funktionieren: mysql -uroot -p'password'
Wenn Sie versuchen, die MySQL-Lösung zu automatisieren, können Sie das Kennwort aus der Variablen verwenden:
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
) und führen Sie Ihren Befehl ohne das aus-p
. Siehe MySQL-Programmumgebungsvariablen . Trotz der düsteren Warnungen des Handbuchs ist dies ziemlich sicher . Es sei denn, Sie starten seltsame Warez in derselben Shell, die Ihre Umgebung saugen könnte, und senden sie an darkaspirator.cc.