Risposte:
Ho trovato la risposta Devi citare la password, in questo modo:
mysql -u root -p'PASSWORD'
È necessario farlo se la password ha uno dei seguenti caratteri: * ? [ < > & ; ! | $ ( )
quando usi le virgolette, assicurati che non ci sia spazio:
tra -p
e 'PASSWORD'
o
tra --password=
e'PASSWORD'
corretta:
mysql -u root -p'PASSWORD'
mysql -u root --password='PASSWORD'
non funziona:
mysql -u root -p 'PASSWORD'
mysql -u root --password = 'PASSWORD'
puoi anche definire una variabile e poi usarla per il comando (ancora senza spazi in mezzo)
MSQLPWD='PASSWORD'
mysql -u root -p$MSQLPWD
Dipende dalla tua shell. Stai usando Microsoft Windows o Linux? Se si utilizza Linux / BASH, è probabile che $$ venga interpretato come l'ID del processo corrente. Hai provato a mettere una barra rovesciata davanti a ogni segno di dollaro? per esempio
mysqldump \
-hlocalhost \
-uUSERNAME \
-pPA\$\$W0RD \
DATABASE \
| gzip -c \
> /home/USERNAME/backups-mysql/BACKUP.gz
Nota che gzip probabilmente richiede l'opzione "-c" se vuoi comprimere su STDOUT.