MySQL quer uma senha mas está vazia

1
mysql -uroot
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

mysql -uroot -p
Enter password:       <-- leave blank, hit enter without entering anything

mysql>                <-- i am logged in

NOTA: Esta é uma nova instalação de instâncias do mysql

Então, se a senha estiver em branco, por que ela não será registrada sem um sinalizador -p?

Para um pouco de esclarecimento. Estou com esse problema ao tentar alterar a senha usando um script:

Estamos usando um script bash para fazer isso.

  • mysqladmin -u root password abc não funcionaria (acesso negado)
  • mysqladmin -u root -p password abc não pode ser usado porque solicita uma senha e precisamos automatizar isso.
  • mysqladmin -u root -p'' password abc não está funcionando
por gAMBOOKa 25.01.2012 / 07:12

3 respostas

2

é um comportamento padrão para a senha em branco. Não há nada de errado com isso.

Para se permitir efetuar login no MySQL sem precisar digitar uma senha no prompt, adicione sua senha a um arquivo chamado .my.cnf no seu diretório pessoal.

[client]
user=root
password=

Agora altere a permissão do arquivo .my.cnf para 400 ou 600.

chmod 400 .my.cnf

OR

chmod 600 .my.cnf

Agora

mysql
O comando

fará o login automaticamente.

    
por 25.01.2012 / 08:03
0

Ele está enviando uma senha, apesar de não receber uma; está recebendo isso de algum lugar.

Verifique se há um arquivo em ~/.my.cnf .

Mas, defina uma senha para seu usuário root ASAP - a menos que você esteja possivelmente logado anonimamente ( select current_user(); )?

    
por 25.01.2012 / 07:52
0

Como o MySQL está configurado para usar a senha auth, e se você não fornecer a senha na invocação do comando (deixando-a em "-p"), ele solicitará que você digite sua senha do MySQL.

Pode ser mais fácil pensar em sua senha como sendo um retorno de carro em vez de ficar em branco

    
por 25.01.2012 / 07:52