Respuestas:
Encontré la respuesta. Tienes que citar la contraseña, así:
mysql -u root -p'PASSWORD'
Debe hacer esto si la contraseña tiene alguno de los siguientes caracteres: * ? [ < > & ; ! | $ ( )
cuando use las comillas, asegúrese de que no haya espacio:
entre -p
y 'PASSWORD'
o
entre --password=
y'PASSWORD'
correcto:
mysql -u root -p'PASSWORD'
mysql -u root --password='PASSWORD'
No funciona:
mysql -u root -p 'PASSWORD'
mysql -u root --password = 'PASSWORD'
también puede definir una variable y luego usarla para el comando (aún sin espacios en el medio)
MSQLPWD='PASSWORD'
mysql -u root -p$MSQLPWD
Depende de tu caparazón. ¿Estás usando Microsoft Windows o Linux? Si está utilizando Linux / BASH, es probable que $$ se interprete como su ID de proceso actual. ¿Has intentado poner una barra diagonal inversa frente a cada signo de dólar? p.ej
mysqldump \
-hlocalhost \
-uUSERNAME \
-pPA\$\$W0RD \
DATABASE \
| gzip -c \
> /home/USERNAME/backups-mysql/BACKUP.gz
Tenga en cuenta que gzip probablemente requiere la opción "-c" si desea comprimir a STDOUT.