किसी उपयोगकर्ता को विशिष्ट स्कीमा एक्सेस करने से रोकने के लिए, आपको DELETE कमांड का उपयोग करना होगा। सिंटैक्स निम्नलिखित है:
DELETE FROM mysql.db WHERE Db IN("yourSpecificSchema", "yourSpecificSchema\_%") AND User = "yourUserName" AND Host = "yourHostName";
आइए ऊपर दिए गए सिंटैक्स को लागू करके किसी उपयोगकर्ता को विशिष्ट स्कीमा एक्सेस करने से रोकते हैं। सबसे पहले, MySQL.user टेबल से सभी उपयोगकर्ताओं और होस्ट को प्रदर्शित करें।
mysql> SELECT user, host FROM MySQL.user;
आउटपुट:
+------------------+-----------+ | user | host | +------------------+-----------+ | Bob | % | | User2 | % | | mysql.infoschema | % | | mysql.session | % | | mysql.sys | % | | root | % | | @UserName@ | localhost | | Adam Smith | localhost | | Chris | localhost | | David | localhost | | James | localhost | | John | localhost | | John Doe | localhost | | User1 | localhost | | am | localhost | | hbstudent | localhost | | mysql.infoschema | localhost | | mysql.session | localhost | +------------------+-----------+
यहाँ, हम उपयोगकर्ता 'Chris' को होस्ट नाम 'localhost' के साथ 'sample' नामक विशिष्ट स्कीमा एक्सेस करने से रोकेंगे:
mysql> DELETE FROM mysql.db WHERE Db IN("sample", "sample\_%") AND User="Chris" AND Host="localhost";
उपरोक्त क्वेरी निष्पादित करने के बाद, आपको FLUSH का उपयोग करने की आवश्यकता है।
mysql> FLUSH PRIVILEGES;