Ответы:
Я нашел ответ. Вы должны указать пароль, например:
mysql -u root -p'PASSWORD'
Вы должны сделать это, если пароль имеет любой из следующих символов: * ? [ < > & ; ! | $ ( )
при использовании кавычек, убедитесь, что нет пробела:
между -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, вполне вероятно, что $$ интерпретируется как ваш текущий идентификатор процесса. Вы пытались поставить обратную косую черту перед каждым знаком доллара? например
mysqldump \
-hlocalhost \
-uUSERNAME \
-pPA\$\$W0RD \
DATABASE \
| gzip -c \
> /home/USERNAME/backups-mysql/BACKUP.gz
Обратите внимание, что gzip, вероятно, требует параметр "-c", если вы хотите сжать до STDOUT.