Antworten:
Ich habe die Antwort gefunden. Sie müssen das Passwort wie folgt angeben:
mysql -u root -p'PASSWORD'
Sie müssen dies tun, wenn das Kennwort eines der folgenden Zeichen enthält: * ? [ < > & ; ! | $ ( )
Wenn Sie die Anführungszeichen verwenden, stellen Sie sicher, dass kein Leerzeichen vorhanden ist:
zwischen -p
und 'PASSWORD'
oder
zwischen --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
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
mysqldump \
-hlocalhost \
-uUSERNAME \
-pPA\$\$W0RD \
DATABASE \
| gzip -c \
> /home/USERNAME/backups-mysql/BACKUP.gz
Beachten Sie, dass gzip wahrscheinlich die Option "-c" benötigt, wenn Sie nach STDOUT komprimieren möchten.