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

MySQL में सीमित विशेषाधिकारों वाला यूज़र कैसे बनाएं?

MySQL यूज़र बनाने और सीमित विशेषाधिकार देने का तरीका

सुरक्षा के लिए हमेशा कम से कम आवश्यक विशेषाधिकारों वाले यूज़र बनाएं (Principle of Least Privilege)।

चरण 1: यूज़र बनाना

CREATE USER 'yourUserName'@'yourHostName' IDENTIFIED BY 'yourPassword';

चरण 2: विशिष्ट विशेषाधिकार देना

GRANT SELECT, INSERT, UPDATE, DELETE, ALTER, CREATE, REFERENCES 
ON yourDatabaseName.* TO 'yourUserName'@'yourHostName';

पूरा उदाहरण

mysql> CREATE USER 'David'@'localhost' IDENTIFIED BY 'david';
Query OK, 0 rows affected (0.20 sec)

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, ALTER, CREATE, REFERENCES 
    ON test.* TO 'David'@'localhost';
Query OK, 0 rows affected (0.21 sec)

यूज़र वेरिफाई करना

mysql> SELECT user, host FROM mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Bob              | %         |
| User2            | %         |
| mysql.infoschema | %         |
| mysql.session    | %         |
| mysql.sys        | %         |
| root             | %         |
| @UserName@       | localhost |
| Adam Smith       | localhost |
| David            | localhost |
| James            | localhost |
| John             | localhost |
| John Doe         | localhost |
| User1            | localhost |
| am               | localhost |
| hbstudent        | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
+------------------+-----------+
17 rows in set (0.00 sec)

आम विशेषाधिकार और उनका अर्थ

विशेषाधिकार अनुमति
SELECT डेटा पढ़ना (SELECT क्वेरी)
INSERT नई पंक्तियाँ जोड़ना
UPDATE मौजूदा डेटा संशोधित करना
DELETE पंक्तियाँ हटाना
CREATE नई टेबल/डेटाबेस बनाना
ALTER टेबल संरचना बदलना
DROP टेबल/डेटाबेस हटाना
REFERENCES विदेशी कुंजी बनाना
INDEX इंडेक्स बनाना/हटाना

सर्वोत्तम अभ्यास

  • हमेशा मजबूत पासवर्ड उपयोग करें
  • '%' (किसी भी होस्ट) के बजाय विशिष्ट होस्ट (localhost, IP) उपयोग करें
  • नियमित रूप से विशेषाधिकारों की समीक्षा करें: SHOW GRANTS FOR 'user'@'host';
  • आवश्यकता न होने पर DROP, GRANT OPTION, SUPER जैसे खतरनाक विशेषाधिकार न दें
  • बदलाव के बाद FLUSH PRIVILEGES; चलाएं (आमतौर पर स्वचालित होता है)

विशेषाधिकार हटाना

REVOKE INSERT, UPDATE ON test.* FROM 'David'@'localhost';

यूज़र हटाना

DROP USER 'David'@'localhost';
  1. - MySQL में एकाधिक कॉलम वाली टेबल में शर्तें कैसे बनाएं?

    MySQL में IF() फ़ंक्शन का उपयोग करके एकाधिक कॉलम पर शर्तीय तर्क लागू करना MySQL में IF() फ़ंक्शन का उपयोग करके क्वेरी स्तर पर शर्तीय तर्क लागू कर सकते हैं। यह तीन तर्क लेता है: शर्त, सत्य मान, असत्य मान। वाक्यविन्यास IF(condition, true_value, false_value) उदाहरण के साथ पूर्ण कार्यान्वयन टेबल बनान

  1. - MySQL में इंडेक्स के साथ तालिका कैसे बनाएं?

    MySQL में तालिका निर्माण के बाद CREATE INDEX स्टेटमेंट का उपयोग करके इंडेक्स बनाए जा सकते हैं, या तालिका निर्माण के समय परिभाषित किए जा सकते हैं। विधि 1: तालिका निर्माण के बाद CREATE TABLE table_name ( col1 datatype, col2 datatype ); CREATE INDEX index_name1 ON table_name (col1); CREATE IN

  1. - MySQL व्यू कैसे बनाएं?

    MySQL व्यू बनाने के लिए, नीचे दिए गए सिंटैक्स में CREATE VIEW का उपयोग करें: create view yourViewName as select * from yourTableName; आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1802 ( StudentId int, StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमा