Hangi MySQL kullanıcıları bir veritabanına erişebilir?


13

Hangi MySQL kullanıcılarının bir veritabanına erişebildiğini ve hangi ayrıcalıklara sahip olduklarını nasıl anlayabilirim?

Ben "Ayrıcalıklar" ı tıkladığımda phpMyAdmin bu bilgi almak mümkün gibi görünüyor. . .

                 Users having access to "mydatabase"
User     Host       Type               Privileges              Grant
myuser1  %          database-specific  ALL PRIVILEGES          Yes
root     localhost  global             ALL PRIVILEGES          Yes
myuser2  %          database-specific  SELECT, INSERT, UPDATE  No

. . . ancak bu sorguyu komut satırından nasıl yapacağımı bilmek istiyorum.

(phpMyAdmin sık sık çalıştırdığı komutun SQL sözdizimini gösterir, ancak bu durumda görmüyorum.)

Belirli bir kullanıcının hangi hibelere sahip olduğunu sormadığımı lütfen unutmayın (yani "kullanıcım için SHANLAR GÖSTER"), ancak bir veritabanı adı verildiğinde, hangi MySQL kullanıcılarının bu veritabanına erişebileceğini ve sahip oldukları ayrıcalıkları nasıl belirleyebilirim? ? Temel olarak, yukarıdaki grafiği komut satırından nasıl alabilirim?

Yanıtlar:


16

'Grid' veiw 'de görüntülenen sonuçları almak için komuta \ G ekleyebilirsiniz

SELECT * FROM mysql.db WHERE Db = '<database name in LC>'\G;

4
\ G için +1 daha önce görmedim
jx12345

8
SELECT * FROM mysql.db WHERE Db = '<database name in LC>';

Teşekkürler. Bu cevap, sorudaki grafikle aynı ham verilerin çıktısını alıyor gibi görünüyor. . . ancak daha az okunabilir biçimde. Verileri aynı formatta sunmak okuyucu için bir alıştırmadır sanırım. . . ;)
Philip Durbin

2

En iyi okunabilirliği sağlamak için bunu deneyebilirsiniz:

select db 'DATABASE', host HOST, user USER from mysql.db where db = '<databasename>';

Klibi için daha hatırlanabilir bir şey:

select db,host,user from mysql.db;
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.