Acessando o host local do servidor mysql usando o bash

0

Suponha que eu queira acessar o servidor mysql e imprimir todas as tabelas e bancos de dados e seus dados no localhost usando o script bash.

O script que tenho parece:

mysql -u root -p password

Após o script ser executado, o shell mysql é aberto em vez de bash. Então, como posso executar um comando com o mysql?

Além disso, qual comando devo executar para imprimir todos os bancos de dados, tabelas e seus dados?

Editar: agora recebo o comando que devo usar, mas a questão permanece:

Eu preciso fazer isso no script, mas ao entrar no comando mysqldump, ele pede senha interativamente.

Então, como posso manipular a senha em um script bash?

    
por Take with me 26.09.2012 / 11:41

3 respostas

1

Veja mysqldump que faz o que você quer.

Exemplo de uso:

mysqldump -u root -p --all-databases

Consulte o manual para mais opções de acordo com sua situação específica.

    
por 26.09.2012 / 11:59
0

tente isso ...

mysqldump -u root -p databasename > filename.sql

todas as tabelas armazenam em filename.sql. é como backup.

e se você quiser armazenar as tabelas de volta no banco de dados então use este comando.

mysqldump -u root -p databasename < filename.sql
    
por 26.09.2012 / 12:49
0

Se você executar man mysqldump , obterá a seguinte saída:

--password[=password], -p[password]

The password to use when connecting to the server. If you use the short option form (-p), you cannot have a space between the option and the password. If you omit the password value following the --password or -p option on the command line, mysqldump prompts for one.

Specifying a password on the command line should be considered insecure. See Section 6.1.2.1, "End-User Guidelines for Password Security". You can use an option file to avoid giving the password on the command line.

Supondo que sua senha root seja PASSWORD, tente o seguinte comando:

mysqldump -u root -pPASSWORD --all-databases > database.sql
    
por 02.04.2013 / 05:27