MySQL menunjukkan info koneksi saat ini

124

Saya sedang dalam sesi terminal MySQL tetapi saya tidak tahu server saya terhubung, atau database apa yang saya terhubung.

Apakah ada perintah MySQL yang akan memberi tahu saya host, port, dan nama pengguna dan database yang saya gunakan sekarang?

brutustea
sumber
6
Port dapat diambil menggunakan "show variable like 'port'"
martin clayton
2
Anda akan mengetikkan "s" untuk mendapatkan info dari database saat ini a
Shivam
dapatkah mysql cli selalu menampilkan nama-db saat ini seperti mariadbMySQL [sys]>
roamer

Jawaban:

186

Ada fungsi MYSQL yang dapat Anda gunakan. Seperti ini yang menyelesaikan pengguna:

SELECT USER();

Ini akan mengembalikan sesuatu seperti root@localhostsehingga Anda mendapatkan host dan pengguna.

Untuk mendapatkan database saat ini jalankan pernyataan ini:

SELECT DATABASE();

Fungsi bermanfaat lainnya dapat ditemukan di sini: http://dev.mysql.com/doc/refman/5.0/en/information-functions.html

2ndkauboy
sumber
137

Anda dapat menggunakan perintah status di klien 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>
Pelajar saja
sumber
apakah mungkin untuk mengeluarkan data ini dari permintaan MySQL melalui PHP?
Martin
Versi mana yang Anda gunakan untuk menjalankan perintah ini? Saya pikir Anda bingung antara klien mysql dan program mysqladmin. mysqladmin -u root -p status Ini adalah output saya: Uptime: 79625 Thread: 3 Pertanyaan: 9903 Permintaan lambat: 1 Dibuka: 106 Tabel siram: 1 Tabel terbuka: 99 Kueri per detik rata-rata: 0,124 Itu tidak menampilkan informasi database terhubung juga.
Tung
Jika saya menjalankan perintah ini pada cmd dari navicat, itu memberi saya 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 1kesalahan. Tetapi jika saya menjalankannya pada klien mysql, itu tidak masalah.
Donghua Liu
43

Jika Anda ingin mengetahui nomor port host lokal Anda di mana Mysql berjalan, Anda dapat menggunakan kueri ini pada klien baris perintah 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)

Ini akan memberi Anda nomor port tempat MySQL dijalankan.


Jika Anda ingin mengetahui nama host Mysql Anda, Anda dapat menggunakan kueri ini pada klien baris perintah 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)

Ini akan memberi Anda nama host untuk mysql.


Jika Anda ingin mengetahui nama pengguna Mysql Anda, Anda dapat menggunakan kueri ini pada klien baris perintah MySQL -

select user();   


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

Ini akan memberi Anda nama pengguna untuk mysql.

Nikhil Agrawal
sumber
Atau Anda bisa menggunakan jawaban Yousui mysql> status, yang mengembalikan semua ini dalam satu perintah.
seorang pembuat kode
1
Jawaban Yousui tidak termasuk nama host. Juga, jika Anda hanya ingin mengembalikan salah satu nilai yang ditentukan dan bukan seluruh daftar, perintah ini sangat berguna.
raphael75