Estou executando um mysqldump por meio de um script bash e encontrei um problema com uma senha que contém caracteres especiais.
mysqldump -hlocalhost -uUSERNAME -pPA$$W0RD DATABASE |
gzip > /home/USERNAME/backups-mysql/BACKUP.gz
Como faço para escapar da senha?
passwords
escape-characters
mysqldump
psynnott
fonte
fonte
ao usar as aspas, verifique se não há espaço:
entre
-p
e'PASSWORD'
ouentre
--password=
e'PASSWORD'
corrigir:
mysql -u root -p'PASSWORD'
mysql -u root --password='PASSWORD'
não funciona:
mysql -u root -p 'PASSWORD'
mysql -u root --password = 'PASSWORD'
você também pode definir uma variável e usá-la para o comando (ainda sem espaços no meio)
MSQLPWD='PASSWORD'
mysql -u root -p$MSQLPWD
fonte
Depende do seu shell. Você está usando o Microsoft Windows ou Linux? Se você estiver usando Linux / BASH, é provável que $$ esteja sendo interpretado como seu ID de processo atual. Você já tentou colocar uma barra invertida na frente de cada cifrão? por exemplo
Note que o gzip provavelmente requer a opção "-c" se você deseja compactar no STDOUT.
fonte
Tente barra invertida (
\
) esses caracteres especiais.fonte