Estoy ejecutando un mysqldump a través de un script bash y he encontrado un problema con una contraseña que contiene caracteres especiales.
mysqldump -hlocalhost -uUSERNAME -pPA$$W0RD DATABASE |
gzip > /home/USERNAME/backups-mysql/BACKUP.gz
¿Cómo escapo la contraseña?
passwords
escape-characters
mysqldump
psynnott
fuente
fuente
cuando use las comillas, asegúrese de que no haya espacio:
entre
-p
y'PASSWORD'
oentre
--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
fuente
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
Tenga en cuenta que gzip probablemente requiere la opción "-c" si desea comprimir a STDOUT.
fuente
Pruebe la barra invertida (
\
) esos caracteres especiales.fuente