cómo iniciar sesión en mysql y consultar la base de datos desde la terminal de linux

104

Estoy usando debian linux. Tengo una máquina linux en la que está instalado mysql. Puedo iniciar sesión en mi máquina Linux utilizando el usuario root y otro usuario. Puedo conectarme a la base de datos mysql en la máquina Linux desde la máquina Windows usando sqlyog. Ahora quiero ejecutar consultas en la máquina linux solo usando la terminal linux

Intenté algunas cosas siguientes en la terminal

Fui al directorio raíz y luego al directorio / var / lib

Ejecuto los siguientes comandos en la terminal

mysqladmin -u root -p
mysqladmin -u root -ppassword

cada vez que tengo el siguiente mensaje de error

ERROR 1045 (28000) Acceso denegado para el usuario 'root' @ 'localhost' (Usando contraseña NO)

por favor guíame para seguir

  1. ¿Cómo obtengo el indicador de mysql en la terminal de Linux?
  2. ¿Cómo detengo el servidor mysql desde la terminal de Linux?
  3. ¿Cómo inicio el servidor mysql desde la terminal de Linux?
  4. ¿Cómo obtengo el indicador de mysql en la terminal de Linux?
  5. ¿Cómo inicio sesión en el servidor mysql desde la terminal linux?
  6. ¿Cómo soluciono el siguiente error?

ERROR 1045 (28000) Acceso denegado para el usuario 'root' @ 'localhost' (Usando contraseña NO)

Por favor, dame soluciones para la pregunta anterior. Gracias

Param-Ganak
fuente
1
Siempre que ejecuto este comando mysql -u root -p, no me pide la contraseña y aparece el mensaje de error "ERROR 1045 (28000) Acceso denegado para el usuario 'root' @ 'localhost' (Usando contraseña NO)" Otra pregunta es dónde ¿Ejecuto el símbolo del sistema raíz de comando anterior en la carpeta raíz o necesito ir a un directorio específico? dame su camino. ¡gracias!
Param-Ganak
Intente cambiar la sintaxis de su comando, así: "mysql --user = root --password" (elimine las comillas cuando lo escriba en la línea de comandos). De lo contrario, parece bastante extraño que no se le solicite una contraseña y sospecho que podría estar sucediendo algo más fuera del alcance de mysql.
baraboom

Respuestas:

180

1.- ¿Cómo obtengo el indicador de mysql en la terminal de linux?

mysql -u root -p

Cuando se le Enter password:indique, ingrese la contraseña de root :)

Puede encontrar más referencias escribiendo mysql --helpo en el manual en línea .

2. ¿Cómo detengo el servidor mysql desde la terminal linux?

Depende. Las distribuciones basadas en Red Hat tienen el servicecomando:

service mysqld stop

Otras distribuciones requieren llamar directamente al script de inicio:

/etc/init.d/mysqld stop

3. ¿Cómo inicio el servidor mysql desde la terminal linux?

Igual que el n. ° 2, pero con start.

4. ¿Cómo obtengo el indicador de mysql en la terminal de Linux?

Igual que el # 1.

5. ¿Cómo inicio sesión en el servidor mysql desde la terminal de Linux?

Igual que el # 1.

6. ¿Cómo soluciono el siguiente error?

Igual que el # 1.

Álvaro González
fuente
10

A tu primera pregunta:

mysql -u root -p

o

mysqladmin -u root -p "your_command"

dependiendo de lo que quieras hacer. ¡Se le pedirá la contraseña una vez que presione enter! Supongo que realmente quieres usar mysql y no mysqladmin .

Para reiniciar o detener el servidor MySQL en Linux, depende de su instalación, pero en los derivados comunes de Debian esto funcionará para iniciar, detener y reiniciar el servicio:

sudo /etc/init.d/mysql start
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql restart
sudo /etc/init.d/mysql status

En algunas distribuciones más nuevas, esto podría funcionar también si MySQL está configurado como demonio / servicio.

sudo service mysql start
sudo service mysql stop
sudo service mysql restart
sudo service mysql status

Pero la pregunta es realmente imposible de responder sin conocer su configuración particular.

Flindeberg
fuente
Siempre que ejecuto este comando mysql -u root -p no me pide contraseña y aparece el mensaje de error "ERROR 1045 (28000) Acceso denegado para el usuario 'root' @ 'localhost' (Usando contraseña NO)" otra pregunta es dónde ¿
Ejecuto el
No tiene que ir a un directorio específico. Puede ejecutarlo desde cualquier lugar. ¿Podría pegar la respuesta en uname -ay mysql --versionpegarlos aquí (solo ingréselos en la terminal)? Probablemente podríamos darte más ayuda entonces. service mysql statustambién sería útil.
flindeberg
5

Supongo que está buscando usar el cliente mysql, lo cual es algo bueno y mucho más eficiente de usar que cualquier alternativa de phpMyAdmin.

La forma correcta de iniciar sesión con el cliente de la línea de comandos es escribiendo:

mysql -u username -p

Observe que no escribí la contraseña. Si lo hiciera, la contraseña quedaría visible en la pantalla, ¡eso no es bueno en un entorno multiusuario!

Después de escribir esta tecla, mysql le pedirá su contraseña.

Una vez que haya iniciado sesión, por supuesto, necesitará:

use databaseName;

hacer cualquier cosa.

Buena suerte.

Stefgosselin
fuente
Siempre que ejecuto este comando mysql -u root -p, no me pide la contraseña y aparece el mensaje de error "ERROR 1045 (28000) Acceso denegado para el usuario 'root' @ 'localhost' (Usando contraseña NO)" Otra pregunta es dónde ¿Ejecuto el símbolo del sistema raíz de comando anterior en la carpeta raíz o necesito ir a un directorio específico? dame su camino. ¡gracias!
Param-Ganak
¿En qué distribución de Linux estás ejecutando?
stefgosselin
5

En el símbolo del sistema, intente:

mysql -u root -p

proporcione la contraseña cuando se le solicite.

quarkonium
fuente
Siempre que ejecuto este comando mysql -u root -p, no me pide la contraseña y aparece el mensaje de error "ERROR 1045 (28000) Acceso denegado para el usuario 'root' @ 'localhost' (Usando contraseña NO)" Otra pregunta es dónde ¿Ejecuto el símbolo del sistema raíz de comando anterior en la carpeta raíz o necesito ir a un directorio específico? dame su camino. ¡gracias!
Param-Ganak
Debería poder ejecutarlo desde su directorio de inicio siempre que tenga la ruta configurada. Debería funcionar ...
quarkonium
4

Tuve exactamente el mismo problema en mi ArchLinux VPS hoy.

mysql -u root -psimplemente no funcionó, mientras que mysql -u root -pmypasswordsí.

Resultó que tenía un archivo de dispositivo / dev / tty roto (probablemente después de una actualización de udev), por lo que mysql no pudo usarlo para un inicio de sesión interactivo.

Terminé eliminando / dev / tty y recreándolo con mknod /dev/tty c 5 1y chmod 666 /dev/tty. Eso resolvió el problema de mysql y algunos otros problemas también.

user789877
fuente
¡Esto realmente funciona! Sin embargo, ahora todos pueden ver la contraseña de root en bash_history. : / ¿Cómo supiste que el / dev / tty estaba estropeado?
user3870315
2

Para detener o iniciar mysql en la mayoría de los sistemas Linux, lo siguiente debería funcionar:

/etc/init.d/mysqld stop

/etc/init.d/mysqld start

Las otras respuestas se ven bien para acceder al cliente mysql desde la línea de comandos.

¡Buena suerte!

baraboom
fuente
2
  1. deberías usar el mysqlcomando. Es un cliente de línea de comandos para mysql RDBMS y viene con la mayoría de las instalaciones de mysql: http://dev.mysql.com/doc/refman/5.1/en/mysql.html

  2. Para detener o iniciar la base de datos mysql (rara vez debería necesitar hacerlo 'a mano'), use el script de inicio adecuado con stopo startparámetro, generalmente /etc/init.d/mysql stop. Sin embargo, esto depende de su distribución de Linux. Algunas distribuciones nuevas fomentan el service mysql startestilo.

  3. Está iniciando sesión utilizando mysqlsql shell.

  4. El error se debe probablemente al parámetro doble '-p'. Puede proporcionar -ppasswordo simplemente -py se le pedirá la contraseña de forma interactiva. También tenga en cuenta que algunas instalaciones pueden usar al usuario mysql (no root) como usuario administrativo. Verifique su configuración de sqlyog para obtener los parámetros de conexión que funcionan.

cezio
fuente
2

Pruebe "sudo mysql -u root -p" por favor.

Udi
fuente
2

En Ubuntu, todo lo que tengo que hacer es ejecutar sudo mysqlen la terminal GNOME y eso es todo. Puedo empezar a hacer bases de datos o consultar datos en una tabla, etc.

Pranav
fuente
1

Si todavía no tienes acceso a la base de datos, 1. en tu mensaje de error no se ha configurado ninguna contraseña, ¿verdad? luego, primero haga mysqlpasswd 'nombre de usuario', luego ingrese y luego ingrese un tipo de contraseña nuevamente según lo solicitado y luego intente acceder nuevamente con mysql -p si es root

user2807050
fuente
1

si ya ha iniciado sesión como root solo

mysql -u root

solicitar la contraseña, de lo contrario, volverá como error

mayoman
fuente
0

use esta "mysql -uroot -pPassword"

vadiraj jahagirdar
fuente