Como fornecer uma senha durante a execução de 'mysqldump' através do shell script

0

Eu escrevi um arquivo em lote que estabelece a conexão com o servidor linux que eu sou capaz de fazer, depois disso eu estou tentando levar o mysqldump para algum diretório, ele tem todas as permissões 777 mas o sistema linux me pede para "Enter Senha "que não é nada além de vazia, e manualmente eu preciso pressionar Enter , eu só preciso executar o meu script que apenas pressiona Enter para que a execução ocorra automaticamente. Abaixo estão alguns detalhes.

arquivo em lote:

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

Esta é a imagem que está me pedindo para inserir a senha:

Por favor me forneça algumas entradas para que eu possa inserir a senha e executar meu comando automaticamente.

    
por infinitoz 11.02.2018 / 06:36

1 resposta

5

Tanto quanto eu entendo você, é o comando que você está executando que pede senha. Sua linha é:

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

Se passarmos para man mysql , lemos o seguinte:

% bl0ck_qu0te%

Você não especificou nada - porque o shell ameaça o espaço como um separador de argumentos. Ou defina uma senha para o usuário mysql, remova -p do arquivo command.txt ou ... modifique seu comando para o seguinte:

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

Aqui explicamos explicitamente uma senha em branco.

    
por vidarlo 11.02.2018 / 09:35