Como faço para efetuar login em um banco de dados sem nome de usuário e senha? [fechadas]

3

Eu quero fazer login em um banco de dados executando um arquivo SQL a partir de um script UNIX sem fornecer nome de usuário e senha (como root). Qualquer comando para fazer isso?

    
por Braiam 01.03.2011 / 07:02

2 respostas

1

Você pode armazenar o nome de usuário e a senha em ~ / .my.cnf

[mysql]
user=foo
password=bar

Mas esse arquivo não é criptografado, portanto, cuidado com isso.

    
por SpamapS 19.05.2011 / 08:14
0

Muitos softwares clientes - incluindo o mysql - podem obter senhas da linha de comando. Experimente

mysql -u root -pROOT_PASSWORD DATABASE_NAME

Onde ROOT_PASSWORD é a senha da conta root do mysql. Você também pode usar certificados para logins.

Como há alguma confusão, pelo menos versões recentes do mysql estão mascarando sua senha da lista de processos. Você pode verificar isso executando o comando acima mencionado e, em seguida, em outro terminal

ps auxw | grep mysql

Se você vir algo como

% bl0ck_qu0te%

(onde -px xxxxx é exatamente isso, não sua senha), sua senha não pode ser visualizada na listagem de processos.

Considerações de segurança:

  • Como @Lekensteyn mencionado nos comentários, tenha cuidado com o fato de que os comandos executados serão salvos no arquivo de histórico (legível apenas pelo usuário e pelo root). Você pode evitar isso, por exemplo, desativando a variável HISTFILE .
  • Seu script deve ser protegido com as permissões corretas (por exemplo, 700, que são todas as permissões para o proprietário e nada para outras).
por Olli 01.03.2011 / 08:52

Tags