MySQLadmin drop database - bash script

2

Eu tenho um script bash que faz o download de um arquivo sql.gz, o extrai e depois o importa, porém antes de importar, eu jogo o banco de dados existente e, em seguida, importo o novo banco de dados para o servidor.

Tudo está bem e o roteiro faz o que é suposto, apenas uma coisa:
Eu tenho esta declaração no meu script bash:
mysqladmin -uroot -ppassword drop dbname
que aguarda a entrada do usuário para pressionar y or n para continuar.

Existe uma maneira de eu inserir Y para que ele sempre diga sim e conclua automaticamente o script. Eu sou novo (v.new) para bash scripts.

Obrigado Atenciosamente

    
por rihatum 03.11.2010 / 11:55

2 respostas

2

echo Y | mysqladmin ...

Ou

mysql -u root -e 'seus comandos sql' dbname

Por favor, note que do ponto de vista da segurança você não deve fornecer credenciais de usuário na linha de comando. Em vez disso, você deve criar um arquivo de preferências ~ / .myrc ou mais e preencher as informações necessárias. Dessa forma, as informações do usuário não serão reveladas na lista de processos.

    
por 03.11.2010 / 12:03
5

Você deve usar mysqladmin drop blah -f -uroot -pbleble . Veja os documentos:

   --force, -f

       Do not ask for confirmation for the drop db_name command. With multiple commands, continue even if an error occurs.
    
por 09.08.2014 / 17:16

Tags