MySQL pokazuje aktualne informacje o połączeniu

124

Jestem w sesji terminalowej MySQL, ale nie wiem, do jakiego serwera jestem podłączony lub do jakiej bazy danych jestem podłączony.

Czy istnieje polecenie MySQL, które powie mi host, port i nazwę użytkownika oraz bazę danych, której teraz używam?

brutustea
źródło
6
Port można odebrać za pomocą „pokaż zmienne, takie jak„ port ””
martin clayton
2
wpiszesz "\ s", aby uzyskać informacje o aktualnej bazie danych a
Shivam
Można mysql cli zawsze pokazują aktualny db-name jak MariaDBMySQL [sys]>
roamer

Odpowiedzi:

187

Istnieją funkcje MYSQL, których możesz użyć. Jak ten, który rozwiązuje użytkownika:

SELECT USER();

To zwróci coś w stylu, root@localhostwięc otrzymasz hosta i użytkownika.

Aby pobrać aktualną bazę danych, uruchom tę instrukcję:

SELECT DATABASE();

Inne przydatne funkcje można znaleźć tutaj: http://dev.mysql.com/doc/refman/5.0/en/information-functions.html

2ndkauboy
źródło
137

Możesz użyć polecenia statusu w kliencie 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>
Po prostu uczący się
źródło
czy można wyprowadzić te dane z zapytania MySQL przez PHP?
Martin
Której wersji używasz do uruchomienia tego polecenia? Myślę, że mylisz się między klientem mysql a programem mysqladmin. mysqladmin -u root -p status To jest mój wynik: Uptime: 79625 Wątków: 3 Pytania: 9903 Wolne zapytania: 1 Otwiera: 106 Opróżnij tabele: 1 Otwarte tabele: 99 Zapytań na sekundę średnio: 0.124 Nie pokazuje informacji o bazie danych jest również podłączony.
Tung
Jeśli wykonałem to polecenie w cmd of navicat, dało mi to 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 1błąd. Ale jeśli uruchomię go na kliencie mysql, było dobrze.
Donghua Liu
43

Jeśli chcesz poznać numer portu swojego lokalnego hosta, na którym działa Mysql , możesz użyć tego zapytania na kliencie MySQL Command Line -

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)

Podaje numer portu, na którym działa MySQL.


Jeśli chcesz poznać nazwę hosta swojego Mysql , możesz użyć tego zapytania na kliencie wiersza poleceń 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)

Otrzymasz nazwę hosta dla mysql.


Jeśli chcesz poznać nazwę użytkownika swojego MySQL , możesz użyć tego zapytania w kliencie wiersza poleceń MySQL -

select user();   


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

Otrzymasz nazwę użytkownika mysql.

Nikhil Agrawal
źródło
Lub możesz użyć odpowiedzi Yousui mysql> status, która zwraca to wszystko w jednym poleceniu.
programista
1
Odpowiedź Yousui nie zawiera nazwy hosta. Ponadto, jeśli chcesz zwrócić tylko jedną z określonych wartości, a nie całą listę, te polecenia są bardzo przydatne.
raphael75