MySQLDump - Existe alguma maneira de inserir a senha com -p ou --password?

2

Eu tenho um servidor Ubuntu com o MySQL.

Na linha de comando, isso funciona

  mysqldump -u root -p paydaydebt

(então eu tenho que digitar manualmente a senha)

Na linha de comando, isso não funciona:

mysqldump -u root -p{password} paydaydebt 
mysqldump -u root --password={password} paydaydebt

Existe alguma maneira de inserir a senha com -p ou --password?

    
por davidjhp 21.08.2011 / 17:57

5 respostas

7

Você deve não . Dada a senha na linha de comando é mal como é visível para todos que emitem um ps ou top .

A maneira recomendada é especificar a senha em um arquivo separado e, em seguida, adicionar uma opção de linha de comando --defaults-extra-file=/etc/mysql/mysqlpassword.cnf

O mysqlpassword.cnf , em seguida, contém (apenas):

[mysqldump]
# The following password will be sent to mysqldump 
password="ThisIsThePassword"

Verifique se esse arquivo é legível apenas para o usuário que está executando mysqldump (preferível root ).

    
por 21.08.2011 / 18:05
1

Não deixe um espaço entre o -p e a senha que você está passando para o mysqldump. Se você colocar um espaço na senha, isso será interpretado como o nome de um banco de dados para agir.

mysqldump -uroot -pPassword dbase

despejaria banco de dados dbase

mysqldump -uroot -p Password dbase

pediria uma senha e tentaria despejar a senha do banco de dados.

No entanto, como mailq diz que você provavelmente deve evitar o uso da senha na linha de comando.

    
por 21.08.2011 / 18:10
0

Se sua senha incluir caracteres especiais, você deve escapar com uma barra invertida.

    
por 21.08.2011 / 18:00
0

Qual é a sua versão do mysql? Normalmente, a seguinte sintaxe deve funcionar bem:

mysqldump -uroot -p'ThisIsThePassword' mysql

Inclua a senha entre os '' s para evitar que caracteres especiais sejam analisados pelo shell ou, caso contrário, escapem deles.

    
por 21.08.2011 / 18:01
0

Além do mailqs responda: --defaults-extra-file = / etc / mysql / mysqlpassword.cnf seja a primeira opção no comando. Exemplo:

mysqldump --defaults-extra-file=/etc/mysql/mysqlpassword.cnf -u root paydaydebt
    
por 29.12.2014 / 10:17

Tags