Ich führe einen mysqldump über ein Bash-Skript aus und habe ein Problem mit einem Kennwort festgestellt, das Sonderzeichen enthält.
mysqldump -hlocalhost -uUSERNAME -pPA$$W0RD DATABASE |
gzip > /home/USERNAME/backups-mysql/BACKUP.gz
Wie entkomme ich dem Passwort?
passwords
escape-characters
mysqldump
psynnott
quelle
quelle
Wenn Sie die Anführungszeichen verwenden, stellen Sie sicher, dass kein Leerzeichen vorhanden ist:
zwischen
-p
und'PASSWORD'
oderzwischen
--password=
und'PASSWORD'
richtig:
mysql -u root -p'PASSWORD'
mysql -u root --password='PASSWORD'
funktioniert nicht:
mysql -u root -p 'PASSWORD'
mysql -u root --password = 'PASSWORD'
Sie können auch eine Variable definieren und diese dann für den Befehl verwenden (immer noch ohne Leerzeichen dazwischen).
MSQLPWD='PASSWORD'
mysql -u root -p$MSQLPWD
quelle
Kommt auf deine Muschel an. Verwenden Sie Microsoft Windows oder Linux? Wenn Sie Linux / BASH verwenden, wird $$ wahrscheinlich als Ihre aktuelle Prozess-ID interpretiert. Haben Sie versucht, vor jedes Dollarzeichen einen Backslash zu setzen? z.B
Beachten Sie, dass gzip wahrscheinlich die Option "-c" benötigt, wenn Sie nach STDOUT komprimieren möchten.
quelle
Versuchen Sie,
\
diese speziellen Zeichen mit einem Backslash ( ) zu versehen.quelle