MySQL mostra informações de conexão atuais

124

Estou em uma sessão de terminal do MySQL, mas não sei em qual servidor estou conectado ou em qual banco de dados estou conectado.

Existe um comando MySQL que me informará o host, a porta e o nome de usuário e o banco de dados que estou usando agora?

brutustea
fonte
6
O porto pode ser escolhido usando "show variable like 'port'"
martin clayton
2
você digitará "\ s" para obter as informações do banco de dados atual a
Shivam
pode mysql cli mostrar sempre atual db-name assim como MariaDBMySQL [sys]>
roamer

Respostas:

186

Existem funções MYSQL que você pode usar. Como este que resolve o usuário:

SELECT USER();

Isso retornará algo assim root@localhostpara que você obtenha o host e o usuário.

Para obter o banco de dados atual, execute esta instrução:

SELECT DATABASE();

Outras funções úteis podem ser encontradas aqui: http://dev.mysql.com/doc/refman/5.0/en/information-functions.html

2ndkauboy
fonte
137

Você pode usar o comando status no 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>
Apenas um aprendiz
fonte
é possível gerar esses dados de uma consulta MySQL via PHP?
Martin
Qual versão você está usando para executar este comando? Eu acho que você está sendo confundido entre o cliente mysql e o programa mysqladmin. mysqladmin -u root -p status Esta é a minha saída: Tempo de atividade: 79625 Tópicos: 3 Perguntas: 9903 Consultas lentas: 1 Abre: 106 Tabelas de liberação: 1 Tabelas abertas: 99 Consultas por segundo avg: 0,124 Não mostra as informações do banco de dados estar conectado também.
Tung
Se eu executasse esse comando no cmd do navicat, isso me causaria um 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 1erro. Mas se eu executá-lo no cliente mysql, tudo bem.
Donghua Liu
43

Se você quiser saber o número da porta do seu host local no qual o Mysql está executando, você pode usar esta consulta no cliente de linha de comando do 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)

Ele fornecerá o número da porta na qual o MySQL está sendo executado.


Se você quiser saber o nome do host do seu Mysql, poderá usar esta consulta no cliente de linha 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)

Ele fornecerá o nome do host para o mysql.


Se você quiser saber o nome de usuário do seu Mysql, você pode usar esta consulta no cliente de linha de comando MySQL -

select user();   


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

Isso lhe dará o nome de usuário do mysql.

Nikhil Agrawal
fonte
Ou você pode usar a resposta de Yousui de mysql> status, que retorna tudo isso em um único comando.
codificador
1
A resposta de Yousui não inclui o nome do host. Além disso, se você deseja retornar apenas um dos valores especificados e não a lista inteira, esses comandos são muito úteis.
Raphael75