Como você testa as credenciais do MySQL na linha de comando em um servidor Linux?
relate perguntas
-
Existem ferramentas de benchmarking do MySQL? [fechado]
-
Onde posso encontrar o log lento do mysql?
-
Como posso otimizar um mysqldump de um banco de dados grande?
-
Quando é o momento certo para usar o MariaDB em vez do MySQL e por quê?
-
Como um grupo pode rastrear alterações no esquema do banco de dados?
Isso permite que você use a mesma cadeia de conexão usada para enviar consultas programaticamente ao servidor. Você pode adicionar
|| exit 1
ao final para sair automaticamente em argumentos inválidos. Você também pode querer redirecionar stderr para/dev/null
se não gostar da mensagem de erro MySQL gerada automaticamente.Você pode usar o seguinte comando (supondo que você tenha o mysql configurado em seu PATH):
Basta substituir o host e o usuário pelos valores corretos e, em seguida, sua senha será solicitada.
@Phil's Answer e @Mr.Brownstone's Answer devem ser suficientes para sua pergunta, então +1 para ambos.
Para o seguinte, vamos supor que você esteja fazendo login com nome de usuário
myuser
Depois de se conectar ao mysql, você deve executar a seguinte consulta:
Às vezes, eles são diferentes. Isso pode lhe dar uma ideia de por que você tem permissão para fazer login no mysql.
Aqui está outra consulta que você precisa executar:
Isso mostrará as maneiras pelas quais você tem permissão para fazer login como
myuser
.Se você vir
'myuser'@'localhost'
, poderá autenticar de dentro do servidor de banco de dados.Se você vir
'myuser'@'127.0.0.1'
e não vir'myuser'@'localhost'
, poderá autenticar novamente no servidor de banco de dados, mas deverá especificar o--protocol=tcp
na linha de comando.Se você vir
'myuser'@'%'
, poderá fazer logins remotos de qualquer servidor.Se você
'myuse'r@'10.20.30,%'
vir , poderá fazer logins remotos apenas a partir de 10.20.30.% netblock.Uma vez que você veja o que 'mysql.user' tem para seu usuário, você pode querer permitir ou restringir myuser de loggin de uma forma e não de outra.
Se você simplesmente quiser verificar se a senha
myuser
éwhateverpassword
, você pode fazer o seguinte:Você pode verificar na linha de comando da seguinte maneira:
Se você não for
root
e quiser testar apenas myuser, você pode fazer isso:Se você obtiver 1, a senha para myuser será verificada como boa.
Sua pergunta é assim tão simples ou há um caso específico que você precisa testar?