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?


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


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>

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.