Tanto para o MySQL quanto para o PostgreSQL, você pode especificar seu usuário e senha no arquivo de configuração local. .my.cnf para MySQL e .pgpass para PostgreSQL. Esses arquivos devem estar em seu diretório pessoal (por exemplo, ~ / .my.cnf).
.my.cnf:
[mysql]
user=user
password=password
.pgpass:
host:port:database:user:password
Você pode ter uma entrada curinga aqui, substituindo qualquer campo por *******.
PS: NÃO ESPECIFICAR NENHUM SENHA NA LINHA DE COMANDO! Isso pode ser perfeitamente visível com ps se o seu sistema não estiver configurado para não mostrar processos que pertençam a outros usuários.
@thinice: Se você quiser criar esses arquivos realmente seguros, faça:
umask 077
touch .my.new.config
umask 022 # or whatever was your default
Dessa forma, o arquivo seria criado com permissões seguras desde o início e nenhum interceptador teria a chance de colocar sua senha.
O PostgreSQL se recusará a usar o arquivo com permissões superiores a 0600 de qualquer maneira.