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

MySQL REVOKE स्टेटमेंट से यूजर विशेषाधिकार कैसे वापस लें

REVOKE स्टेटमेंट से एक या अधिक यूजर्स से विशेषाधिकार वापस लिए जा सकते हैं।

सिंटैक्स

REVOKE privilege_type [(column_list)] [, priv_type [(column_list)]] ...
ON [object_type] privilege_level
FROM user [, user] ...;

पैरामीटर्स व्याख्या

  1. REVOKE के बाद विशेषाधिकारों की सूची (कॉमा से अलग)
  2. ON क्लॉज में विशेषाधिकार स्तर (ग्लोबल, डेटाबेस, टेबल, कॉलम)
  3. FROM क्लॉज में यूजर अकाउंट(स)

उदाहरण: abcd@localhost से सभी विशेषाधिकार वापस लेना

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

-- सभी विशेषाधिकार और GRANT OPTION वापस लें
mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'abcd'@'localhost';
Query OK, 0 rows affected (0.00 sec)

-- पुष्टि करें
mysql> SHOW GRANTS FOR 'abcd'@'localhost';
+------------------------------------------+
| Grants for abcd@localhost                |
+------------------------------------------+
| GRANT USAGE ON *.* TO 'abcd'@'localhost' |
+------------------------------------------+

महत्वपूर्ण बिंदु

  • GRANT OPTION अलग से वापस लेना पड़ता है (ALL PRIVILEGES में शामिल नहीं)
  • REVOKE ALL PRIVILEGES केवल स्पष्ट रूप से दिए गए विशेषाधिकार हटाता है
  • यूजर अकाउंट बना रहता है (केवल USAGE बचता है)
  • यूजर पूरी तरह हटाने के लिए: DROP USER 'user'@'host';

स्तर-विशिष्ट REVOKE

-- डेटाबेस स्तर
REVOKE SELECT ON mydb.* FROM 'user'@'host';

-- टेबल स्तर
REVOKE INSERT ON mydb.mytable FROM 'user'@'host';

-- कॉलम स्तर
REVOKE UPDATE (col1, col2) ON mydb.mytable FROM 'user'@'host';
  1. - MySQL में ENUM से वैल्यू कैसे हटाएं?

    MySQL में ENUM से वैल्यू हटाने के लिए ALTER कमांड का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable    (    `Rank` ENUM(LOW,MEDIUM,HIGH)    ); Query OK, 0 rows affected (0.52 sec) आइए टेबल का विवरण चेक कर

  1. - MySQL में ऑटो-इन्क्रीमेंट मान को 1 से शुरू करने के लिए कैसे सेट करें

    TRUNCATE TABLE के साथ ऑटो-इन्क्रीमेंट रीसेट करना टेबल को ट्रंकेट करके ऑटो-इन्क्रीमेंट मान को 1 से पुनः आरंभ करें। आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY ); रिकॉर्ड्स इन्सर्ट करें: mysql> INSERT INTO DemoTable VALUES ();

  1. - MySQL में टेबल से डुप्लिकेट कॉलम कैसे हटाएं

    समाधान INNER JOIN के साथ DELETE का उपयोग करके डुप्लिकेट पंक्तियाँ हटाएं (नवीनतम ID रखें)। सिंटैक्स DELETE tbl1 FROM yourTableName tbl1 INNER JOIN yourTableName tbl2 WHERE tbl1.id < tbl2.id AND tbl1.name = tbl2.name; उदाहरण टेबल बनाएं: INSERT INTO demo14 (name) VALUES (John), (David), (David), (Bo