Por que este usuário mysql não pode logar com senha?

8

No phpmyadmin, criei um usuário chamado "edward" com senha e todos os privilégios:

insira a descrição da imagem aqui

No entanto, quando tento efetuar login via phpmyadmin, ele diz "Não é possível efetuar login no servidor MySQL".

Quando tento fazer login na linha de comando (Windows 7), ele não me permite: insira a descrição da imagem aqui

Mas se eu fizer login sem uma senha, entro em:

insira a descrição da imagem aqui

e me mostra apenas duas das mesas.

Tenho certeza de que a senha está correta e criei vários usuários que nem todos conseguem fazer login com suas senhas, independentemente de quantos direitos eu lhes conceda.

Como faço para que esse usuário possa fazer login apenas com senha e ver todos os bancos de dados?


Termo aditivo:

Aqui está uma captura de tela do phpmyadmin mostrando que "edward" tem tantos direitos quanto "root":

insira a descrição da imagem aqui

Edward Tanguay
fonte
Tem certeza de que definiu a senha? Tente SET PASSWORD FOR 'edward'@'%' = PASSWORD( 'YOU PASSWORD HERE' ).
hellodanylo
sim, eu entrei como root e defini a senha novamente com esse comando, mas ainda não consigo fazer o login como edward, como se houvesse algum tipo de configuração global contra qualquer pessoa que efetuasse login, exceto a raiz, instalei isso com o xampp
mesma coisa está happenning para mim, e a senha foi definida corretamente no create user comando
santiago Arizti

Respostas:

6

Como você concedeu acesso sem senha ... Se um usuário não tiver uma senha, o login com uma sempre falhará.

Defina a senha do usuário, só assim você poderá usar-p

Além disso, você pode querer remover o Anyusuário.

poncha
fonte
Eu concedi uma senha a ele no phpmyadmin (como mostrado na captura de tela acima) e, no prompt de comando, entrei novamente e concedi uma senha com, set password for 'edward'@'%' = password('test');mas ainda não consigo fazer login com senha, é como se a senha não fosse sendo definido, mas está sendo exibido como definido
4
sua captura de tela mostra o %host; no entanto, você está acessando localhost, o que faz a diferença. Você provavelmente tem outra concessão lá, que corresponde a qualquer pessoa no host local, sem senha. usuário com host especificado é a definição mais forte
poncha
2
ok, mudei de %para localhoste agora posso fazer login, e também, como você disse, se eu remover a entrada "any user", posso usar %em edward, obrigado.
Edward Tanguay
0

Muito provavelmente, você concedeu privilégios no servidor, mas não nos bancos de dados. TentarGRANT ALL ON *.* TO 'edward' IDENTIFIED BY 'password'

Eugen Rieck
fonte
I logado como root e definir a senha com o comando para o banco de dados "teste" e "Edward", mas eu ainda não consigo logar como Edward com a sua senha
Sinto muito: eu errei deveria ter sido *.*, não *- eu editei minha resposta.
que ainda não funciona, como é mostrado na tela acima, o usuário Edward tem todos os direitos, tanto quanto raiz na verdade
Edward Tanguay
0

O mesmo problema não conseguiu descobrir por nada. Apague o banco de dados, remova o diretório e reinstale no Centos 6.3. A linha de comando mostra alguns dados que são rolados rapidamente que resolveram o problema para mim. Colado abaixo.

Lembre-se de definir uma senha para o usuário root do MySQL!

Para fazer isso, inicie o servidor e emita os seguintes comandos:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h cch-web-centos password 'new-password'

Como alternativa, você pode executar:

/usr/bin/mysql_secure_installation

O último é o que funcionou para mim. Digitei uma senha root e ela realmente funcionou. Inserir uma senha root usando o mysqladmin sem executar esse script me deu os mesmos erros que Edward relatou. Execute o script, responda às perguntas, agora usando a senha root funciona e o login sem a senha é negada. Este também me deixou louco. Instalei o mysql muitas vezes e é a primeira vez que tenho esse problema. Não tenho certeza se é uma coisa do yum / centos, pois no Ubuntu e no Fedora eu não tive esse problema.

armel
fonte