Mysql में USAGE-विशेषाधिकार का सीधा सा मतलब है कि वैश्विक स्तर पर परिभाषित उपयोगकर्ता 'phpadmin'@'localhost' के लिए कोई विशेषाधिकार नहीं हैं *.*
. इसके अतिरिक्त एक ही उपयोगकर्ता के पास डेटाबेस phpmyadmin phpadmin.*
. पर सर्व-विशेषाधिकार है .
इसलिए यदि आप सभी विशेषाधिकारों को हटाना चाहते हैं और पूरी तरह से नए सिरे से शुरू करना चाहते हैं तो निम्न कार्य करें:
-
डेटाबेस स्तर पर सभी विशेषाधिकार निरस्त करें:
REVOKE ALL PRIVILEGES ON phpmyadmin.* FROM 'phpmyadmin'@'localhost';
-
उपयोगकर्ता 'phpmyadmin'@'localhost' को छोड़ें
DROP USER 'phpmyadmin'@'localhost';
उपरोक्त प्रक्रिया पूरी तरह से उपयोगकर्ता को आपके उदाहरण से हटा देगी, इसका मतलब है कि आप उसे खरोंच से फिर से बना सकते हैं।
आपको ऊपर वर्णित के बारे में थोड़ी पृष्ठभूमि देने के लिए:जैसे ही आप एक उपयोगकर्ता बनाते हैं mysql.user
तालिका आबाद हो जाएगी। यदि आप इसमें कोई रिकॉर्ड देखते हैं, तो आप देखेंगे कि उपयोगकर्ता और सभी विशेषाधिकार 'N'
पर सेट हैं। . यदि आप show grants for 'phpmyadmin'@'localhost';
आप देखेंगे, पहले से ही परिचित, ऊपर आउटपुट। बस "उपयोगकर्ता के लिए वैश्विक स्तर पर कोई विशेषाधिकार नहीं" के रूप में अनुवादित। अब आपका अनुदान ALL
डेटाबेस स्तर पर इस उपयोगकर्ता के लिए, यह तालिका mysql.db
. में संग्रहीत किया जाएगा . यदि आप एक SELECT * FROM mysql.db WHERE db = 'nameofdb';
आपको एक 'Y'
दिखाई देगा प्रत्येक निजी पर।
ऊपर वर्णित वर्तमान में आपके डीबी पर मौजूद परिदृश्य को दर्शाता है। तो ऐसा उपयोगकर्ता होना जिसके पास केवल USAGE
हो विशेषाधिकार का अर्थ है, कि यह उपयोगकर्ता कनेक्ट हो सकता है, लेकिन इसके अलावा SHOW GLOBAL VARIABLES; SHOW GLOBAL STATUS;
उसके पास कोई अन्य विशेषाधिकार नहीं हैं।