conectarse a MySQL desde la línea de comando

225

¿Cómo puede conectarse a MySQL desde la línea de comandos en una Mac? (es decir, muéstrame el código)

Estoy haciendo un tutorial de PHP / SQL, pero comienza asumiendo que ya estás en MySQL.

Leahcim
fuente

Respuestas:

404

Ver aquí http://dev.mysql.com/doc/refman/5.0/en/connecting.html

mysql -u USERNAME -pPASSWORD -h HOSTNAMEORIP DATABASENAME 

Las opciones anteriores significan:

-u: username
-p: password (**no space between -p and the password text**)
-h: host
last one is name of the database that you wanted to connect. 

Mira en el enlace, se detalla allí!


Como ya mencionó Rick , puede evitar pasar la contraseña como parte del comando al no pasar la contraseña de esta manera:

mysql -u USERNAME -h HOSTNAMEORIP DATABASENAME -p

Gente editando esta respuesta: NO AGREGUE UN ESPACIO entre -pyPASSWORD

Nishant
fuente
gracias, 2 preguntas 1) ¿tiene que incluir la "- u" "- p", etc., o son reemplazadas por el nombre de usuario, etc. 2) si no se ha creado una base de datos, ¿lo deja en blanco?
Leahcim
2
Es posible configurar la autenticación MySQL en función del usuario con el que inició sesión o no autenticarse en absoluto, pero tampoco es una buena idea. Especificar la contraseña en la línea de comandos es incluso un pequeño riesgo de seguridad porque termina en su comando tablas de historia y procesos. Si deja de lado la contraseña, se la pedirá.
dj_segfault
@Michael 1) actualizado. ALL-CAPS necesita ser reemplazado con valores reales. deje el -u, -p, -h como es 2) sí. Después de iniciar sesión, escriba show databasespara ver la lista de bases de datos.
Nishant
3
@dj_segfault a la derecha. Por lo tanto, si se va, -psin especificar la contraseña, le pedirá la contraseña.
Nishant
Si actualmente no tiene una base de datos creada, debe usar el comando mysqladmin para crear una. Pero creo que cuando instala el servidor, se crea la base de datos predeterminada "mysql", que contiene toda la información de esquema y autenticación. Puede iniciar sesión en ese (si tiene suficientes privilegios) y crear otras bases de datos desde allí.
dj_segfault
129

La mejor práctica sería mysql -u root -p. Luego MySQL le pedirá la contraseña después de presionar enter.

Almiar
fuente
25
Para elaborar, esto evita que su contraseña aparezca en .bash_history. Usando el método actual más votado, si alguien obtiene acceso a $HOME(y por lo tanto .bash_history), también tiene sus detalles de autenticación, ¡da miedo! Este tipo de intrusión puede (y ocurre ) ...
Jeremy
Puede ejecutar un comando bash sin que aparezca en el .bash_profie. Lea más aquí: commandlinefu.com/commands/view/1512/…
Skid Kadda
@Jeremy ¡No solo en .bash_historysino también en topy más herramientas! Incluso puede tener sus archivos seguros, solo comparta la computadora con otro usuario legítimo.
Melebius
+1 porque mi contraseña tiene símbolos especiales y no se analizará cuando forme parte del comando, debe hacerse por separado.
Jacksonkr
10

Use el siguiente comando para conectarse a su base de datos MySQL

mysql -u NOMBRE DE USUARIO -h HOSTNAME -p

Swamy
fuente
9

Después de ejecutar MySQL Shell y haber visto lo siguiente:

mysql-js>

En primer lugar, deberías:

mysql-js>\sql

En segundo lugar:

 mysql-sql>\connect username@servername (root@localhost)

Y finalmente:

Enter password:*********
Nombre Apellido
fuente
3

Una forma de conectarse a MySQL directamente usando el nombre de usuario y contraseña de MySQL adecuados es:

mysql --user=root --password=mypass

Aquí,

root is the MySQL username
mypass is the MySQL user password

Esto es útil si tiene una contraseña en blanco.

Por ejemplo, si tiene un usuario de MySQL llamado rootcon una contraseña vacía, simplemente use

mysql --user=root --password=
arsho
fuente
0

Esto funcionó para mí :: -

mysql --host=hostNameorIp --user=username --password=password  

o

mysql --host=hostNameorIp --user=username --password=password database_name
Anand Tiwari
fuente