मुझे लगता है कि MySQL द्वारा प्रदान किए गए विशेषाधिकारों की सूची थोड़ी भारी है। मुझे यकीन नहीं है कि किसके पास क्या विशेषाधिकार होने चाहिए। मेरे दिमाग में मेरी स्थिति के लिए तीन विशिष्ट उपयोगकर्ता हैं:
root
developer
application
root
आत्म व्याख्यात्मक है। इसके लिए developer
उपयोगकर्ता को किसी भी डेटाबेस को आसानी से एक्सेस करने में सक्षम होना चाहिए, इसके लिए समायोजन करना होगा, आदि। शुरुआत के लिए मैं इस उपयोगकर्ता को इस डेटा को सेट कर रहा हूं:
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON
application
एक और भी अधिक सीमित सेट है। यह केवल एक विशिष्ट डेटाबेस में हेरफेर करने के लिए सीमित होना चाहिए।
मुझे यकीन नहीं है कि विशेषाधिकार का एक उचित सेट क्या अनुदान देना है। एक डेवलपर और एक आवेदन देने के लिए विशेषाधिकारों का एक उचित सेट क्या है और क्यों?