SUPER प्रिविलेज उच्च-स्तरीय प्रशासनिक कार्यों के लिए आवश्यक है: KILL, CHANGE MASTER, PURGE BINARY LOGS, ग्लोबल वेरिएबल सेट करना, आदि।
वर्तमान प्रिविलेज जांचें
mysql> SHOW GRANTS FOR 'Manish'@'%';
सुपर प्रिविलेज देने के तरीके
तरीका 1: GRANT स्टेटमेंट (सुझाया गया)
mysql> GRANT SUPER ON *.* TO 'Manish'@'%' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
तरीका 2: mysql.user टेबल सीधे अपडेट करना (पुराना तरीका)
mysql> USE mysql;
mysql> UPDATE user SET Super_priv = 'Y' WHERE User = 'Manish' AND Host = '%';
mysql> FLUSH PRIVILEGES;
सत्यापन
mysql> SHOW GRANTS FOR 'Manish'@'%';
+------------------------------------------------------------------+
| Grants for Manish@% |
+------------------------------------------------------------------+
| GRANT SUPER ON *.* TO `Manish`@`%` IDENTIFIED BY PASSWORD '...' |
+------------------------------------------------------------------+
सुरक्षा चेतावनी
- SUPER प्रिविलेज बहुत शक्तिशाली है - केवल विश्वसनीय प्रशासनिक खातों को दें।
- नियमित एप्लिकेशन उपयोगकर्ताओं को कभी न दें।
- MySQL 8.0+ में डायनामिक प्रिविलेज (
SYSTEM_VARIABLES_ADMIN,CONNECTION_ADMIN, आदि) अधिक बारीक नियंत्रण देते हैं - उनका उपयोग करें।
आधुनिक विकल्प (MySQL 8.0+)
-- विशिष्ट प्रशासनिक अधिकार दें
GRANT SYSTEM_VARIABLES_ADMIN, CONNECTION_ADMIN ON *.* TO 'admin'@'%';