MySQL muestra información de conexión actual

124

Estoy en una sesión de terminal MySQL pero no sé a qué servidor estoy conectado o a qué base de datos estoy conectado.

¿Hay un comando MySQL que me diga el host, el puerto, el nombre de usuario y la base de datos que estoy usando ahora?

brutustea
fuente
66
El puerto se puede recoger usando "mostrar variables como 'puerto'"
martin clayton
2
escribirá "\ s" para obtener la información de la base de datos actual a
Shivam
mysql puede mostrar siempre cli-db nombre actual al igual que MariaDBMySQL [sys]>
deambulante

Respuestas:

187

Hay funciones MYSQL que puede usar. Como este que resuelve al usuario:

SELECT USER();

Esto devolverá algo así root@localhostpara que obtenga el host y el usuario.

Para obtener la base de datos actual, ejecute esta declaración:

SELECT DATABASE();

Otras funciones útiles se pueden encontrar aquí: http://dev.mysql.com/doc/refman/5.0/en/information-functions.html

2ndkauboy
fuente
137

Puede usar el comando de estado en el cliente MySQL.

mysql> status;
--------------
mysql  Ver 14.14 Distrib 5.5.8, for Win32 (x86)

Connection id:          1
Current database:       test
Current user:           ODBC@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.5.8 MySQL Community Server (GPL)
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    gbk
Conn.  characterset:    gbk
TCP port:               3306
Uptime:                 7 min 16 sec

Threads: 1  Questions: 21  Slow queries: 0  Opens: 33  Flush tables: 1  Open tables: 26  Queries per second avg: 0.48
--------------

mysql>
Solo un alumno
fuente
¿Es posible generar estos datos desde una consulta MySQL a través de PHP?
Martin
¿Qué versión estás usando para ejecutar este comando? Creo que te estás confundiendo entre el cliente mysql y el programa mysqladmin. mysqladmin -u root -p status Este es mi resultado: Tiempo de actividad: 79625 Subprocesos: 3 Preguntas: 9903 Consultas lentas: 1 Abre: 106 Tablas de vaciado: 1 Tablas abiertas: 99 Consultas por segundo promedio: 0.124 No muestra la información de la base de datos estar conectado también.
Tung
Si ejecuté este comando en cmd de navicat, me dio un 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'status' at line 1error. Pero si lo ejecuto en el cliente mysql, estaba bien.
Donghua Liu el
43

Si desea conocer el número de puerto de su host local en el que se ejecuta Mysql , puede usar esta consulta en el cliente de línea de comando MySQL:

SHOW VARIABLES WHERE Variable_name = 'port';


mysql> SHOW VARIABLES WHERE Variable_name = 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+
1 row in set (0.00 sec)

Le dará el número de puerto en el que se ejecuta MySQL.


Si desea conocer el nombre de host de su Mysql , puede usar esta consulta en el cliente de línea de comando MySQL:

SHOW VARIABLES WHERE Variable_name = 'hostname';


mysql> SHOW VARIABLES WHERE Variable_name = 'hostname';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| hostname          | Dell  |
+-------------------+-------+
1 row in set (0.00 sec)

Le dará el nombre de host para mysql.


Si desea conocer el nombre de usuario de su Mysql , puede usar esta consulta en el cliente de línea de comando MySQL:

select user();   


mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

Te dará el nombre de usuario para mysql.

Nikhil Agrawal
fuente
O podría usar la respuesta de Yousui de mysql> status, que devuelve todo esto en un solo comando.
un codificador
1
La respuesta de Yousui no incluye el nombre de host. Además, si solo desea devolver uno de los valores especificados y no la lista completa, estos comandos son muy útiles.
raphael75