Я запускаю mysqldump через скрипт bash и столкнулся с проблемой с паролем, содержащим специальные символы.
mysqldump -hlocalhost -uUSERNAME -pPA$$W0RD DATABASE |
gzip > /home/USERNAME/backups-mysql/BACKUP.gz
Как мне избежать пароля?
passwords
escape-characters
mysqldump
psynnott
источник
источник
при использовании кавычек, убедитесь, что нет пробела:
между
-p
и'PASSWORD'
илимежду
--password=
и'PASSWORD'
верный:
mysql -u root -p'PASSWORD'
mysql -u root --password='PASSWORD'
не работает:
mysql -u root -p 'PASSWORD'
mysql -u root --password = 'PASSWORD'
Вы также можете определить переменную и затем использовать ее для команды (без пробелов между ними)
MSQLPWD='PASSWORD'
mysql -u root -p$MSQLPWD
источник
Зависит от вашей оболочки. Вы используете Microsoft Windows или Linux? Если вы используете Linux / BASH, вполне вероятно, что $$ интерпретируется как ваш текущий идентификатор процесса. Вы пытались поставить обратную косую черту перед каждым знаком доллара? например
Обратите внимание, что gzip, вероятно, требует параметр "-c", если вы хотите сжать до STDOUT.
источник
Попробуйте использовать обратную косую черту (
\
) этих специальных символов.источник