सवाल मैं MySQL उपयोगकर्ता के लिए विशेषाधिकार कैसे बदलूं जो पहले से ही बनाया गया है?


मैं समझता हूं कि विशेषाधिकारों के साथ एक नया उपयोगकर्ता कैसे बनाया जाए, लेकिन पहले से बनाए गए उपयोगकर्ताओं के लिए विशेषाधिकारों को बदलने का सही तरीका क्या है?

हम एक डीबी ऑडिट चला रहे हैं और कुछ उपयोगकर्ताओं के पास और अधिक पहुंच है तो इसकी आवश्यकता है। इसके अलावा मुझे इनमें से अधिकांश MySQL उपयोगकर्ताओं के लिए पासवर्ड नहीं पता हैं, इसलिए मैं उन्हें हटाना और नए बनाना नहीं चाहता हूं।


59
2018-02-23 19:56


मूल




जवाब:


उपयोगकर्ताओं को सूचीबद्ध करने के लिए:

select user,host from mysql.user;

विशेषाधिकार दिखाने के लिए:

show grants for 'user'@'host';

विशेषाधिकारों को बदलने के लिए, पहले रद्द करें। जैसे कि:

revoke all privileges on *.* from 'user'@'host';

फिर वांछित के रूप में उपयुक्त विशेषाधिकार प्रदान करें:

grant SELECT,INSERT,UPDATE,DELETE ON `db`.* TO 'user'@'host';

अंत में, फ्लश:

flush privileges;

MySQL दस्तावेज़ उत्कृष्ट है:

http://dev.mysql.com/doc/refman/5.0/en/user-account-management.html


87
2018-02-23 20:02



मैंने निरसन के उपयोग को गलत समझा। धन्यवाद। - Clutch
खारिज किए बिना, यह गणराज्य विशेषाधिकार होगा; - Sergey
mysql प्रलेखन अपठनीय के पास है, यह उत्तर बहुत बेहतर है - Timo Huovinen
मुझे लगता है (सभी विशेषाधिकारों को रद्द करें । 'उपयोगकर्ता' @ होस्ट 'से; ) होना चाहिए (सभी को रद्द करें । 'उपयोगकर्ता' से 'होस्ट';) धन्यवाद, - Nicholas
यह उत्तर सादा गलत है "फ्लश विशेषाधिकार" अनुदान के साथ विशेषाधिकारों पर लागू नहीं होता है। उपर्युक्त प्रक्रिया के परिणामस्वरूप उपयोगकर्ता को रिवोक और अनुदान प्रश्नों के चलते सभी के बीच कोई विशेषाधिकार नहीं होता है, और इसके अतिरिक्त अनुदान कैश को बिना किसी कारण के फ्लश करने के लिए __ यह काम करेगा यदि आप mysql.user तालिका के खिलाफ नियमित प्रश्न पूछते हैं अनुदान का उपयोग करना और यदि सर्वर क्वेरी के बीच क्रैश या बंद नहीं होता है। - skullnobrains