किस MySQL उपयोगकर्ता के पास डेटाबेस तक पहुँच है?


13

मैं कैसे बता सकता हूं कि कौन से MySQL उपयोगकर्ताओं के पास डेटाबेस तक पहुंच है और उनके पास क्या विशेषाधिकार हैं?

जब मैं "प्रिविलेज" पर क्लिक करता हूँ, तो मुझे phpMyAdmin की यह जानकारी मिल सकती है। । ।

                 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

। । । लेकिन मैं यह जानना चाहूंगा कि कमांड लाइन से यह क्वेरी कैसे करें।

(phpMyAdmin अक्सर मुझे कमांड के SQL सिंटैक्स को दिखाता है जो इसे निष्पादित कर रहा है, लेकिन मैं इसे इस मामले में नहीं देखता हूं।)

कृपया ध्यान दें कि मैं यह नहीं पूछ रहा हूं कि किसी विशेष उपयोगकर्ता के पास क्या अनुदान हैं (यानी "myuser1 के लिए SHOW GRANTS"), बल्कि एक डेटाबेस का नाम दिया गया है, मैं यह कैसे निर्धारित करूं कि MySQL उपयोगकर्ताओं के पास उस डेटाबेस तक पहुंच है और उनके पास क्या विशेषाधिकार हैं ? मूल रूप से, मैं कमांड लाइन से ऊपर चार्ट कैसे प्राप्त कर सकता हूं?

जवाबों:


16

आप 'ग्रिड' वीवी में प्रदर्शित परिणाम प्राप्त करने के लिए कमांड में \ G को जोड़ सकते हैं

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

4
+1 के लिए \ G ने पहले नहीं देखा
jx12345

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

धन्यवाद। यह उत्तर प्रश्न में चार्ट के समान कच्चे डेटा को आउटपुट करने के लिए प्रतीत होता है। । । लेकिन कम पठनीय प्रारूप में। मुझे लगता है कि डेटा को एक ही प्रारूप में प्रस्तुत करना पाठक के लिए एक अभ्यास है। । । ;)
फिलिप डर्बिन

2

आप इसे एक कोशिश दे सकते हैं, सबसे अच्छी पठनीयता प्रदान करनी चाहिए:

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

क्ली के लिए कुछ और स्मरणीय:

select db,host,user from mysql.db;
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.