MySQL показує поточну інформацію про з'єднання


124

Я перебуваю на сеансі MySQL-терміналу, але не знаю, до якого сервера я підключений або до якої бази даних я підключений.

Чи є команда MySQL, яка підкаже мені хост, порт, ім’я користувача та базу даних, якими я зараз користуюся?


6
Порт можна підібрати, використовуючи "показати змінні типу" порт ""
martin clayton

2
ви введете "\ s", щоб отримати інформацію про поточну базу даних a
Shivam

може mysql cli завжди показувати поточну db-назву так само, як mariadbMySQL [sys]>
роумер

Відповіді:


187

Є функції MYSQL, якими ви можете користуватися. Як ця, що вирішує користувача:

SELECT USER();

Це поверне щось подібне, root@localhostтак що ви отримаєте хоста та користувача.

Щоб заставити поточну базу даних запустити цей оператор:

SELECT DATABASE();

Інші корисні функції можна знайти тут: http://dev.mysql.com/doc/refman/5.0/uk/information-functions.html


137

Ви можете використовувати команду стану у клієнті 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>

можна вивести ці дані з запиту MySQL через PHP?
Мартін

Яку версію ви використовуєте для запуску цієї команди? Думаю, вас плутають між клієнтом mysql та програмою mysqladmin. mysqladmin -u root -p status Це мій вихід: Uptime: 79625 Теми: 3 Питання: 9903 Повільні запити: 1 Відкриває: 106 Таблиці флеш: 1 Відкриті таблиці: 99 Запитів за секунду сер .: 0.124 Не показує інформацію бази даних підключаються також.
Тун

Якщо я виконував цю команду на cmd navicat, це дало мені 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 1помилку. Але якщо я запускаю його на mysql client, це було нормально.
Donghua Liu

43

Якщо ви хочете знати номер порту вашого локального хоста, на якому працює Mysql , ви можете скористатися цим запитом на клієнті командного рядка 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)

Він дасть вам номер порту, на якому працює MySQL.


Якщо ви хочете знати ім'я хосту вашого Mysql, ви можете скористатися цим запитом на клієнті командного рядка 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)

Це дасть вам ім'я хоста для mysql.


Якщо ви хочете знати ім'я користувача вашого Mysql, ви можете скористатися цим запитом на клієнті командного рядка MySQL -

select user();   


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

Це дасть вам ім'я користувача для mysql.


Або ви можете використовувати відповідь Юсуї mysql> status, яка повертає все це в одну команду.
кодер

1
Відповідь Yousui не включає ім'я хоста. Крім того, якщо ви хотіли повернути лише одне із зазначених значень, а не весь список, ці команди дуже корисні.
raphael75
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.