MySQL показывает текущую информацию о подключении

124

Я нахожусь в терминальном сеансе MySQL, но не знаю, к какому серверу я подключен или к какой базе данных я подключен.

Есть ли команда MySQL, которая сообщит мне хост, порт, имя пользователя и базу данных, которые я использую сейчас?

brutustea
источник
6
Порт можно выбрать с помощью «показать переменные, такие как 'port'»
Мартин Клейтон
2
вы наберете "\ s", чтобы получить информацию о текущей базе данных a
Шивам
может MySQL CLI всегда показывать текущий DB-имя так же , как MariaDBMySQL [sys]>
бродяга

Ответы:

187

Есть функции MYSQL, которые вы можете использовать. Как этот, который разрешает пользователя:

SELECT USER();

Это вернет что-то вроде root@localhostтого, что вы получите хост и пользователя.

Чтобы получить текущую базу данных, запустите этот оператор:

SELECT DATABASE();

Другие полезные функции можно найти здесь: http://dev.mysql.com/doc/refman/5.0/en/information-functions.html

2ndkauboy
источник
137

Вы можете использовать команду status в клиенте 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 Это мой результат: Время работы: 79625 Темы: 3 вопроса: 9903 Медленные запросы: 1 Открытие: 106 Сброс таблиц: 1 Открытие таблиц: 99 запросов в секунду в среднем: 0,124 Информация о базе данных не отображается будучи на связи.
Tung
Если я выполнил эту команду на 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, все было в порядке.
Дунхуа Лю
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
Ответ Юсуи не включает имя хоста. Кроме того, если вы хотите вернуть только одно из указанных значений, а не весь список, эти команды очень полезны.
raphael75