GNU/Linux >> Tutoriales Linux >  >> Linux

¿Probar las credenciales de MySQL desde la línea de comandos de Linux?

mysql -h host -u user -p<whatever> -e"quit"

Esto le permite usar la misma cadena de conexión que usa para enviar consultas al servidor mediante programación. Puedes agregar || exit 1 hasta el final para salir automáticamente en argumentos inválidos. También puede redirigir stderr a /dev/null si no le gusta el mensaje de error de MySQL generado automáticamente.


Puede usar el siguiente comando (asumiendo que tiene mysql configurado en su RUTA):

mysql -h servidor -u usuario -p

Simplemente reemplace host y usuario con los valores correctos y luego se le pedirá su contraseña.


@Phil's Answer y @Mr.Brownstone's Answer deberían ser suficientes para su pregunta, así que +1 para ambos.

Para lo siguiente, supongamos que inicia sesión con el nombre de usuario myuser

Una vez que se haya conectado a mysql, debe ejecutar la siguiente consulta:

SELECT USER(),CURRENT_USER();
  • USER() informa cómo intentó autenticarse en MySQL
  • CURRENT_USER() informa cómo se le permitió autenticarse en MySQL

A veces, son diferentes. Esto puede darle una idea de por qué se le permite iniciar sesión en mysql.

Aquí hay otra consulta que debe ejecutar:

SELECT CONCAT('''',user,'''@''',host,'''') dbuser,password
FROM mysql.user WHERE user='myuser';

Esto le mostrará las formas en que puede iniciar sesión como myuser .

Si ves 'myuser'@'localhost' , luego puede autenticarse desde dentro del servidor DB.

Si ves 'myuser'@'127.0.0.1' y no veo 'myuser'@'localhost' , luego puede autenticarse nuevamente desde el servidor DB, pero debe especificar el --protocol=tcp desde la línea de comando.

Si ves 'myuser'@'%' , luego puede hacer inicios de sesión remotos desde cualquier servidor.

Si ves 'myuse'[email protected]'10.20.30,%' , entonces puede hacer inicios de sesión remotos solo desde 10.20.30.% netblock.

Una vez que vea lo que 'mysql.user' tiene para su usuario, es posible que desee permitir o restringir el inicio de sesión de myuser de una manera y no de la otra.

Si simplemente desea verificar si la contraseña para myuser es whateverpassword , puede hacer lo siguiente:

SELECT COUNT(1) Password_is_OK FROM mysql.user
WHERE user='myuser'
AND password=PASSWORD('whateverpassword');

Puede verificar desde la línea de comando de la siguiente manera:

PASSWORDISOK=`mysql -uroot -p... -ANe"SELECT COUNT(1) Password_is_OK FROM mysql.user WHERE user='myuser' AND password=PASSWORD('whateverpassword')"`

Si no eres root y quiere probar myuser solamente, puede hacer esto:

PASSWORDISOK=`mysqladmin -umyuser -pwhateverpassword ping | grep -c "mysqld is alive"`

Si obtiene 1, la contraseña de myuser se verifica como buena.


Linux
  1. Configurar un espacio de trabajo de Linux de forma remota desde la línea de comandos

  2. Cómo ejecutar consultas MySQL/MariaDB directamente desde la línea de comandos de Linux

  3. 4 formas de enviar archivos adjuntos de correo electrónico desde la línea de comandos de Linux

  4. Buscar torrents desde la línea de comandos en Linux

  5. Linux su comando

Comando Usermod en Linux

Cómo reiniciar (reiniciar) Linux desde la línea de comandos

Comando userdel - Eliminar cuenta de usuario del sistema Linux

Cómo probar la velocidad de Internet usando la línea de comandos en Linux

Cómo verificar los detalles del clima desde la línea de comandos en Linux

Enviar correo electrónico en Linux desde la línea de comandos