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

MySQL में DROP USER के बाद भी यूजर mysql.user टेबल में क्यों मौजूद रहता है?

MySQL में DROP USER व्यवहार समझना

MySQL में DROP USER स्टेटमेंट यूजर को हटा देता है, लेकिन कभी-कभी ऐसा लगता है कि यूजर अभी भी mysql.user टेबल में मौजूद है। यह आमतौर पर होस्ट मिसमैच के कारण होता है।

यूजर और होस्ट की जांच

SELECT user, host FROM mysql.user;

उदाहरण आउटपुट

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| hbstudent        | localhost |
| root             | %         |
| ...              | ...       |
+------------------+-----------+

यूजर को सही तरीके से ड्रॉप करना

यूजर को होस्ट सहित निर्दिष्ट करना आवश्यक है:

DROP USER 'hbstudent'@'localhost';

सत्यापन

फिर से क्वेरी चलाकर पुष्टि करें:

SELECT user, host FROM mysql.user;

अब hbstudent लिस्ट में नहीं दिखाई देगा।

मुख्य बातें

  • MySQL में यूजर की पहचान user@host जोड़ी से होती है।
  • DROP USER 'username' बिना होस्ट के काम नहीं करेगा (एरर देगा)।
  • यदि यूजर कई होस्ट से मौजूद है (जैसे 'user'@'%' और 'user'@'localhost'), तो प्रत्येक को अलग-अलग ड्रॉप करना होगा।
  • FLUSH PRIVILEGES आमतौर पर आवश्यक नहीं है क्योंकि DROP USER स्वचालित रूप से विशेषाधिकार कैश को रीफ्रेश करता है।
  1. - MySQL में SHOW GRANTS से विशिष्ट उपयोगकर्ता के सभी अधिकार (ग्रांट) देखें

    MySQL में किसी विशिष्ट उपयोगकर्ता खाते को दिए गए सभी अधिकारों (प्रिविलेज) को देखने के लिए SHOW GRANTS स्टेटमेंट का उपयोग करें। यह सुरक्षा ऑडिट, समस्या निवारण, और अधिकार प्रबंधन के लिए आवश्यक है। सिंटैक्स SHOW GRANTS FOR username@hostname; व्यावहारिक उदाहरण चरण 1: सभी उपयोगकर्ता खाते सूचीबद्ध करें

  1. - क्या हम MySQL टेबल के लिए 'user' शब्द का उपयोग कर सकते हैं?

    उत्तर नहीं, आप MySQL टेबल के लिए सीधे user शब्द का उपयोग नहीं कर सकते क्योंकि यह MySQL में एक आरक्षित शब्द (reserved word) है। MySQL की सिस्टम टेबल mysql.user मौजूद है। समाधान बहुवचन उपयोग करें: users (सबसे आम और अनुशंसित) बैकटिक्स उपयोग करें: `user` (काम करता है लेकिन भ्रमित कर सकता है) वर्णनात्म

  1. - MySQL में विभिन्न प्रकार के उपयोगकर्ताओं की संख्या प्राप्त करें?

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> UserName varchar(20), -> UserType ENUM(New User,Registered User) -> ); Query OK, 0 rows affected (0.60 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(Chris,New User)