C'è un modo per passare la password dell'utente DB nello strumento della riga di comando mysqladmin?


103

Attualmente utilizzo quanto segue ma SEMPRE mi viene chiesto di digitare manualmente la password. C'è un modo per passarlo sulla riga di comando all'avvio dell'eseguibile?

mysqladmin processlist -u root -p

4
Imposta MYSQL_PWD nell'ambiente ( export MYSQL_PWD=muhpassword) ed esegui il comando senza l' estensione -p. Vedere Variabili d'ambiente del programma MySQL . Nonostante i terribili avvertimenti del manuale , questo è piuttosto sicuro . A meno che non avvii weird warez nella stessa shell che potrebbe aspirare il tuo ambiente e inviarlo a darkaspirator.cc.
David Tonhofer

Risposte:


190

Ho appena scoperto la risposta ...

mysqladmin processlist -u root -pYOURPASSWORDHERE

Nessuno spazio tra la tua password e -p


14
sono consentite anche le virgolette se la password contiene spazi, come in:-p'YOURPASSWORD HERE'
Vigintas Labakojis

40
Wow ... davvero intuitivo ... Spazio tra -h localhoste -u rootma non -pPASSWORD. Programmatori classici che rendono tutto più difficile del necessario.
Kolob Canyon

4
@KolobCanyon puoi omettere lo spazio tra -u e root, -urootfunziona bene
Peter Ajtai

11
Avvertenza: questo è considerato non sicuro: dev.mysql.com/doc/mysql-security-excerpt/5.7/en/…
neverendingqs

3
@KolobCanyon: cosa succede se la password inizia con uno spazio? ;) Il programmatore non può decidere se lo spazio separa l'opzione e il suo valore o è il primo carattere della password ...
Stéphane

43

Provare:

--password=PasswordTextHere 

Utile quando è necessario passare una password "vuota" (a scopo di test ovviamente).
Ivo Pereira

questa sembra anche essere l'unica opzione per passare una password vuota nella riga di comando (su un'istanza sandbox per esempio)
penCsharpener

10

Questo dovrebbe funzionare: mysql -uroot -p'password'

Se stai cercando di automatizzare la soluzione mysql, puoi utilizzare la password dalla variabile:

mysql_pass=$(sudo grep -oP "temporary password is generated for root@localhost: \K(.*)" /var/log/mysqld.log)

mysql -uroot -p"$mysql_pass" < somescript.sql

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.