MySQL affiche les informations de connexion actuelles

124

Je suis dans une session de terminal MySQL mais je ne sais pas à quel serveur je suis connecté, ni à quelle base de données je suis connecté.

Existe-t-il une commande MySQL qui me dira l'hôte, le port, le nom d'utilisateur et la base de données que j'utilise actuellement?

brutustea
la source
6
Le port peut être récupéré en utilisant "afficher des variables comme 'port'"
martin clayton
2
vous allez taper "\ s" pour obtenir les informations de la base de données actuelle a
Shivam
peut mysql cli toujours afficher le nom db-courant comme MariaDBMySQL [sys]>
roamer

Réponses:

187

Il existe des fonctions MYSQL que vous pouvez utiliser. Comme celui-ci qui résout l'utilisateur:

SELECT USER();

Cela renverra quelque chose comme root@localhostsi vous obtenez l'hôte et l'utilisateur.

Pour obtenir la base de données actuelle, exécutez cette instruction:

SELECT DATABASE();

D'autres fonctions utiles peuvent être trouvées ici: http://dev.mysql.com/doc/refman/5.0/en/information-functions.html

2ndkauboy
la source
137

Vous pouvez utiliser la commande status dans le client 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>
Juste un apprenant
la source
il est possible de sortir ces données à partir d'une requête MySQL via PHP?
Martin
Quelle version utilisez-vous pour exécuter cette commande? Je pense que vous êtes confus entre le client mysql et le programme mysqladmin. mysqladmin -u root -p status Voici ma sortie: Temps de fonctionnement: 79625 Threads: 3 Questions: 9903 Requêtes lentes: 1 Ouvre: 106 Vider les tables: 1 Ouvrir les tables: 99 Requêtes par seconde en moyenne: 0.124 Il ne montre pas les informations de la base de données être connecté aussi.
Tung
Si j'ai exécuté cette commande sur cmd de navicat, cela m'a donné une 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 1erreur. Mais si je l'exécute sur le client mysql, ça va.
Donghua Liu
43

Si vous voulez connaître le numéro de port de votre hôte local sur lequel Mysql s'exécute, vous pouvez utiliser cette requête sur le client en ligne de commande 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)

Il vous donnera le numéro de port sur lequel MySQL fonctionne.


Si vous voulez connaître le nom d'hôte de votre Mysql, vous pouvez utiliser cette requête sur le client en ligne de commande 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)

Cela vous donnera le nom d'hôte de mysql.


Si vous voulez connaître le nom d'utilisateur de votre Mysql, vous pouvez utiliser cette requête sur le client en ligne de commande MySQL -

select user();   


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

Il vous donnera le nom d'utilisateur pour mysql.

Nikhil Agrawal
la source
Ou vous pouvez utiliser la réponse de Yousui sur mysql> status, qui renvoie tout cela en une seule commande.
un codeur le
1
La réponse de Yousui n'inclut pas le nom d'hôte. De plus, si vous ne voulez renvoyer qu'une des valeurs spécifiées et non la liste entière, ces commandes sont très utiles.
raphael75