Odpowiedzi:
Znalazłem odpowiedź Musisz podać hasło:
mysql -u root -p'PASSWORD'
Musisz to zrobić, jeśli hasło ma jeden z następujących znaków: * ? [ < > & ; ! | $ ( )
gdy używasz cudzysłowów, upewnij się, że nie ma spacji:
między -p
i 'PASSWORD'
lub
między --password=
i'PASSWORD'
poprawny:
mysql -u root -p'PASSWORD'
mysql -u root --password='PASSWORD'
nie działa:
mysql -u root -p 'PASSWORD'
mysql -u root --password = 'PASSWORD'
możesz także zdefiniować zmienną, a następnie użyć jej dla polecenia (wciąż bez odstępów między nimi)
MSQLPWD='PASSWORD'
mysql -u root -p$MSQLPWD
Zależy od twojej powłoki. Czy korzystasz z systemu Microsoft Windows lub Linux? Jeśli używasz systemu Linux / BASH, prawdopodobne jest, że $$ jest interpretowana jako bieżący identyfikator procesu. Czy próbowałeś umieścić odwrotny ukośnik przed każdym znakiem dolara? na przykład
mysqldump \
-hlocalhost \
-uUSERNAME \
-pPA\$\$W0RD \
DATABASE \
| gzip -c \
> /home/USERNAME/backups-mysql/BACKUP.gz
Zauważ, że gzip prawdopodobnie wymaga opcji „-c”, jeśli chcesz skompresować do STDOUT.