MySQL แสดงข้อมูลการเชื่อมต่อปัจจุบัน


125

ฉันอยู่ในเซสชันเทอร์มินัล MySQL แต่ฉันไม่รู้ว่าฉันเชื่อมต่อกับเซิร์ฟเวอร์อะไรหรือฉันเชื่อมต่อกับฐานข้อมูลใด

มีคำสั่ง MySQL ที่จะบอกโฮสต์พอร์ตชื่อผู้ใช้และฐานข้อมูลที่ฉันใช้อยู่ตอนนี้หรือไม่


6
สามารถรับพอร์ตได้โดยใช้ "ตัวแปรแสดงเช่น" พอร์ต "
martin Clayton

2
คุณจะพิมพ์ "\ s" เพื่อรับข้อมูลของฐานข้อมูลปัจจุบัน a
Shivam

สามารถ mysql CLI เคยแสดงในปัจจุบัน DB-ชื่อเช่นเดียวกับ MariaDBMySQL [sys]>
ผู้เที่ยวไป

คำตอบ:


188

มีฟังก์ชัน MYSQL ที่คุณสามารถใช้ได้ เช่นเดียวกับสิ่งนี้ที่แก้ไขผู้ใช้:

SELECT USER();

สิ่งนี้จะส่งคืนบางอย่างroot@localhostเพื่อให้คุณได้รับโฮสต์และผู้ใช้

ในการรับฐานข้อมูลปัจจุบันให้รันคำสั่งนี้:

SELECT DATABASE();

ฟังก์ชั่นที่มีประโยชน์อื่น ๆ สามารถพบได้ที่นี่: http://dev.mysql.com/doc/refman/5.0/en/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?
Martin

คุณใช้เวอร์ชันใดเพื่อเรียกใช้คำสั่งนี้ ฉันคิดว่าคุณกำลังสับสนระหว่างไคลเอนต์ 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 มันก็โอเค
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


หรือคุณสามารถใช้คำตอบของ Yousui mysql> statusซึ่งส่งคืนทั้งหมดนี้ในคำสั่งเดียว
ผู้เขียนโค้ด

1
คำตอบของ Yousui ไม่มีชื่อโฮสต์ นอกจากนี้หากคุณต้องการส่งคืนค่าที่ระบุเพียงค่าเดียวไม่ใช่ทั้งรายการคำสั่งเหล่านี้มีประโยชน์มาก
raphael75
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.