Как обеспечить пароль при выполнении 'mysqldump' через сценарий оболочки

Я записал пакетный файл, который, устанавливая соединение с сервером Linux, который я могу сделать так после этого, я пытаюсь взять mysqldump к некоторому определенному каталогу, это имеет все 777 полномочий, но система Linux просит, чтобы я "Ввел Пароль", который только пуст, и вручную я должен нажать Enter, я просто должен выполнить свой сценарий, которые просто нажимают Enter так, чтобы выполнение произошло автоматически. Ниже некоторые детали.

пакетный файл:

plink.exe -ssh user@host -m command.txt

command.txt:

mysqldump -uve -p -R -E --single-transaction --databases mydb|gzip > /home/user/mydb_bkup.gz

Это - изображение, которое предлагает мне вводить пароль: this is the image which is prompting me to enter password

Предоставьте мне некоторые исходные данные так, чтобы я мог ввести пароль и выполнить мою команду автоматически.

1
задан 11 February 2018 в 14:50

1 ответ

Насколько я понимаю, вы запускаете команду , которая запрашивает пароль. Ваша строка:

mysqldump -uve -p -R -E --single-transaction --databases mydb|gzip > /home/user/mydb_bkup.gz

Если мы перейдем к man mysql, мы прочитаем следующее:

Пароль, используемый при соединении с сервером. Если вы используете краткую форму опции (-p), между ней и паролем не должно быть пробела. Если вы опускаете значение пароля после параметра --password или -p в командной строке, mysql запрашивает его.

Вы ничего не указали - потому что оболочка угрожает пространству в качестве разделителя аргументов. Либо установите пароль для пользователя mysql, удалите -p из файла command.txt, либо ... измените вашу команду на следующую: ]

6
ответ дан 3 December 2019 в 06:30

Другие вопросы по тегам:

Похожие вопросы: