MySQL zeigt aktuelle Verbindungsinformationen an

124

Ich bin in einer MySQL-Terminalsitzung, weiß aber nicht, mit welchem ​​Server ich verbunden bin oder mit welcher Datenbank ich verbunden bin.

Gibt es einen MySQL-Befehl, der mir den Host, den Port sowie den Benutzernamen und die Datenbank mitteilt, die ich gerade verwende?

brutustea
quelle
6
Port kann mit "show Variablen wie 'Port'" abgeholt werden
Martin Clayton
2
Sie werden "\ s"
eingeben
kann mysql cli immer den aktuellen db-name anzeigen wie mariadbMySQL [sys]>
roamer

Antworten:

186

Es gibt MYSQL-Funktionen, die Sie verwenden können. Wie dieser, der den Benutzer auflöst:

SELECT USER();

Dies gibt so etwas wie zurück, root@localhostso dass Sie den Host und den Benutzer erhalten.

Führen Sie die folgende Anweisung aus, um die aktuelle Datenbank abzurufen:

SELECT DATABASE();

Weitere nützliche Funktionen finden Sie hier: http://dev.mysql.com/doc/refman/5.0/en/information-functions.html

2ndkauboy
quelle
137

Sie können den Befehl status im MySQL-Client verwenden.

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>
Nur ein Lernender
quelle
Ist es möglich, diese Daten aus einer MySQL-Abfrage über PHP auszugeben?
Martin
Mit welcher Version führen Sie diesen Befehl aus? Ich denke, Sie werden zwischen dem MySQL-Client und dem MySQL-Programm verwirrt. mysqladmin -u root -p status Dies ist meine Ausgabe: Uptime: 79625 Threads: 3 Fragen: 9903 Langsame Abfragen: 1 Öffnet: 106 Tabellen spülen: 1 Tabellen öffnen: 99 Abfragen pro Sekunde Durchschnitt: 0,124 Die Informationen der Datenbank werden nicht angezeigt auch verbunden sein.
Tung
Wenn ich diesen Befehl auf cmd von navicat ausführte, gab es mir einen 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 1Fehler. Aber wenn ich es auf einem MySQL-Client laufen lasse, war es in Ordnung.
Donghua Liu
43

Wenn Sie die Portnummer Ihres lokalen Hosts wissen möchten, auf dem MySQL ausgeführt wird, können Sie diese Abfrage auf dem MySQL-Befehlszeilenclient verwenden.

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)

Sie erhalten die Portnummer, auf der MySQL ausgeführt wird.


Wenn Sie den Hostnamen Ihres MySQL wissen möchten , können Sie diese Abfrage auf dem MySQL-Befehlszeilenclient verwenden -

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)

Es gibt Ihnen den Hostnamen für MySQL.


Wenn Sie den Benutzernamen Ihres MySQL wissen möchten , können Sie diese Abfrage auf dem MySQL-Befehlszeilenclient verwenden -

select user();   


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

Es gibt Ihnen den Benutzernamen für MySQL.

Nikhil Agrawal
quelle
Oder Sie könnten Yousuis Antwort von verwenden mysql> status, die all dies in einem einzigen Befehl zurückgibt.
ein Kodierer
1
Yousuis Antwort enthält nicht den Hostnamen. Wenn Sie nur einen der angegebenen Werte und nicht die gesamte Liste zurückgeben möchten, sind diese Befehle sehr nützlich.
Raphael75