MySQL में यूजर बनाकर विशिष्ट डेटाबेस पर सभी विशेषाधिकार (Privileges) देना
दो-चरणीय प्रक्रिया:
चरण 1: यूजर बनाएं
CREATE USER 'yourUserName'@'localhost' IDENTIFIED BY 'yourPassword';
चरण 2: डेटाबेस पर सभी विशेषाधिकार दें
GRANT ALL PRIVILEGES ON yourDatabaseName.* TO 'yourUserName'@'localhost';
व्यावहारिक उदाहरण
यूजर "Adam Smith" बनाएं:
mysql> CREATE USER 'Adam Smith'@'localhost' IDENTIFIED BY 'Adam123456';
Query OK, 0 rows affected (0.29 sec)
'test' डेटाबेस पर सभी विशेषाधिकार दें:
mysql> GRANT ALL PRIVILEGES ON test.* TO 'Adam Smith'@'localhost';
Query OK, 0 rows affected (0.19 sec)
ALL PRIVILEGES में क्या शामिल है?
| विशेषाधिकार | अनुमति |
| SELECT | डेटा पढ़ें |
| INSERT | नई पंक्तियां जोड़ें |
| UPDATE | मौजूदा डेटा बदलें |
| DELETE | पंक्तियां हटाएं |
| CREATE | नई टेबल/डेटाबेस बनाएं |
| DROP | टेबल/डेटाबेस हटाएं |
| ALTER | टेबल संरचना बदलें |
| INDEX | इंडेक्स बनाएं/हटाएं |
| REFERENCES | फॉरेन की बनाएं |
| ... और अधिक | |
विशिष्ट विशेषाधिकार देना (सुरक्षित):
-- केवल पढ़ने/लिखने के अधिकार
GRANT SELECT, INSERT, UPDATE, DELETE ON db_name.* TO 'user'@'localhost';
-- केवल पढ़ने के अधिकार (रिपोर्टिंग यूजर)
GRANT SELECT ON db_name.* TO 'reporter'@'localhost';
विशेषाधिकार देखें:
SHOW GRANTS FOR 'Adam Smith'@'localhost';
विशेषाधिकार वापस लें:
REVOKE ALL PRIVILEGES ON test.* FROM 'Adam Smith'@'localhost';
सर्वोत्तम अभ्यास:
- न्यूनतम विशेषाधिकार सिद्धांत: केवल आवश्यक अधिकार दें
% होस्ट के बजाय localhost या विशिष्ट IP उपयोग करें
- मजबूत पासवर्ड नीति लागू करें
- नियमित रूप से
SHOW GRANTS से ऑडिट करें
- उत्पादन में
GRANT OPTION न दें जब तक जरूरी न हो