Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL GRANT स्टेटमेंट से यूजर को विशेषाधिकार कैसे दें

GRANT स्टेटमेंट नए या मौजूदा यूजर को विभिन्न स्तरों पर विशेषाधिकार देता है।

सिंटैक्स

GRANT privilege[, privilege]...
ON privilege_level
TO user [IDENTIFIED BY 'password']
[REQUIRE tls_option]
[WITH [GRANT_OPTION | resource_option]];

घटक व्याख्या

  1. विशेषाधिकार: SELECT, INSERT, UPDATE, DELETE, ALL, आदि
  2. स्तर: *.* (ग्लोबल), db.* (डेटाबेस), db.table (टेबल), db.table(col) (कॉलम)
  3. यूजर: 'user'@'host' — मौजूद नहीं तो बनाता है
  4. IDENTIFIED BY: वैकल्पिक, पासवर्ड सेट/बदलता है
  5. REQUIRE: SSL/X509 कनेक्शन बाध्यता
  6. WITH GRANT OPTION: अन्य यूजर्स को विशेषाधिकार देने का अधिकार
  7. WITH resource_option: प्रति-घंटा कनेक्शन/क्वेरी/अपडेट सीमा

पूर्ण उदाहरण

-- 1. यूजर बनाएं
mysql> USE mysql;
mysql> CREATE USER 'abcd'@'localhost' IDENTIFIED BY 'password123';
Query OK, 0 rows affected (0.04 sec)

-- 2. प्रारंभिक विशेषाधिकार (केवल USAGE)
mysql> SHOW GRANTS FOR 'abcd'@'localhost';
+------------------------------------------+
| Grants for abcd@localhost                |
+------------------------------------------+
| GRANT USAGE ON *.* TO 'abcd'@'localhost' |
+------------------------------------------+

-- 3. सभी विशेषाधिकार दें (सभी डेटाबेस, सभी ऑब्जेक्ट्स)
mysql> GRANT ALL ON *.* TO 'abcd'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.05 sec)

-- 4. अद्यतन विशेषाधिकार
mysql> SHOW GRANTS FOR 'abcd'@'localhost';
+---------------------------------------------------------------------+
| Grants for abcd@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'abcd'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+

सामान्य विशेषाधिकार

विशेषाधिकारअनुमति
SELECTडेटा पढ़ें
INSERTनई पंक्तियाँ जोड़ें
UPDATEमौजूदा डेटा संशोधित करें
DELETEपंक्तियाँ हटाएं
CREATEडेटाबेस/टेबल/इंडेक्स बनाएं
DROPडेटाबेस/टेबल हटाएं
ALLसभी विशेषाधिकार (GRANT OPTION छोड़कर)
सर्वोत्तम अभ्यास: ALL ON *.* केवल प्रशासनिक यूजर्स को दें। एप्लिकेशन यूजर्स को केवल आवश्यक डेटाबेस/टेबल पर न्यूनतम विशेषाधिकार दें।
  1. MySQL में अलग यूजर के रूप में लॉगिन कैसे करें? MySQL में अलग यूजर के रूप में लॉगिन कैसे करें?

    कमांड लाइन से अलग यूजर के रूप में MySQL लॉगिन मौजूदा यूजर के रूप में लॉगिन करने के लिए: mysql -u yourUsername -p Enter दबाने के बाद पासवर्ड दर्ज करें। नया यूजर बनाना और लॉगिन करना 1. यूजर बनाएं CREATE USER John@localhost IDENTIFIED BY john123456; 2. यूजर वेरीफाई करें SELECT user FROM mysql.user

  1. - MySQL में SHOW GRANTS से उपयोगकर्ता के अधिकार देखना

    MySQL में किसी उपयोगकर्ता को दिए गए अधिकारों (privileges/grants) को देखने के लिए SHOW GRANTS स्टेटमेंट का उपयोग किया जाता है। यह उपयोगकर्ता खाता प्रबंधन और ऑडिटिंग के लिए आवश्यक है। उपयोगकर्ता और होस्ट सूची देखना mysql> SELECT user, host FROM mysql.user; आउटपुट (आंशिक) +------------------+-----

  1. - MySQL में GRANT EXECUTE से उपयोगकर्ता को सभी स्टोर्ड प्रोसीजर एक्सेस देना

    MySQL में किसी उपयोगकर्ता को डेटाबेस के सभी स्टोर्ड प्रोसीजर और फंक्शन निष्पादित करने का अधिकार देने के लिए GRANT EXECUTE स्टेटमेंट का उपयोग किया जाता है। उपयोगकर्ता सूची देखना mysql> SELECT user, host FROM mysql.user; आउटपुट (आंशिक) +------------------+-----------+ | user | host