जवाबों:
Mysql उदाहरण के लिए एक व्यवस्थापक उपयोगकर्ता (आमतौर पर रूट के रूप में) से कनेक्ट करें और निम्न कमांड दें ...
select user from mysql.db where db='DB_NAME';
select user from mysql.db
बिना योग्यता के दौड़ना 2 खाली पंक्तियों को भी लौटाता है।
user79644 का उत्तर उपयोगकर्ताओं को डेटाबेस-स्तरीय विशेषाधिकारों के साथ मिलता है, लेकिन केवल तालिका-स्तर, स्तंभ-स्तर या प्रक्रिया-स्तरीय विशेषाधिकारों के साथ उपयोगकर्ताओं को याद करेंगे। उन सभी को खोजने के लिए, निम्नलिखित कथनों का उपयोग करें:
SELECT user,host FROM db WHERE db='name';
SELECT user,host FROM tables_priv WHERE db='name';
SELECT user,host FROM columns_priv WHERE db='name';
SELECT user,host FROM procs_priv WHERE db='name';
MySQL 5.5 में कम से कम, ऐसा लगता है जैसे स्तंभ-स्तरीय विशेषाधिकार होने का अर्थ है कि आपके पास तालिका-स्तरीय विशेषाधिकार हैं। तालिका-स्तरीय विशेषाधिकार होने का अर्थ यह नहीं है कि आपके पास डेटाबेस-स्तर के विशेषाधिकार हैं। प्रक्रिया-स्तरीय विशेषाधिकारों के बारे में निश्चित नहीं है।
ERROR 1046 (3D000): No database selected
mysql
डेटाबेस का उपयोग करना चाहिए । यहीं से MySQL द्वारा उपयोग किया जाने वाला सारा डेटा स्टोर किया जाता है। या तो USE mysql;
डेटाबेस नामों को तालिका नामों में जोड़ने की आज्ञा दें , जैसे किFROM mysql.db
FROM mysql.tables_priv
# current users that access the db
mysql> show processlist;
+-----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-----+------+-----------+------+---------+------+-------+------------------+
| 214 | root | localhost | NULL | Query | 0 | NULL | show processlist |
+-----+------+-----------+------+---------+------+-------+------------------+
# who can access what at anytime and his privilege level
mysql> show grants;
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
# what privileges are available
mysql> show privileges;
आपको यह ध्यान रखना होगा कि डेटाबेस के लिए MySQLGRANT
में वाइल्डकार्ड वर्ण हो सकते हैं । इसका उपयोग LIKE
प्रश्न में किया जाना है:
SELECT user,host FROM db WHERE 'name' LIKE db;
SELECT user,host FROM tables_priv WHERE db='name';
SELECT user,host FROM columns_priv WHERE db='name';
SELECT user,host FROM procs_priv WHERE db='name';